From efd9e5bb90f7cc4f2f697b7eb4f8dcaf95ec90ed Mon Sep 17 00:00:00 2001
From: Sam Georges
Date: Thu, 15 May 2014 14:21:40 +1000
Subject: [PATCH 01/24] Minor rollback: We dont actually need to pass the
context to beforeUpdate()
---
modules/system/assets/js/framework.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/system/assets/js/framework.js b/modules/system/assets/js/framework.js
index 7b81af809..099e2d815 100644
--- a/modules/system/assets/js/framework.js
+++ b/modules/system/assets/js/framework.js
@@ -66,7 +66,7 @@ if (window.jQuery === undefined)
/*
* Halt here if beforeUpdate() or data-request-before-update returns false
*/
- if (this.options.beforeUpdate.apply(this, [context, data, textStatus, jqXHR]) === false) return
+ if (this.options.beforeUpdate.apply(this, [data, textStatus, jqXHR]) === false) return
if (options.evalBeforeUpdate && eval('(function($el, context, data, textStatus, jqXHR) {'+options.evalBeforeUpdate+'}($el, context, data, textStatus, jqXHR))') === false) return
/*
From fd5d176f608e703d94b127f22f5302b45987de38 Mon Sep 17 00:00:00 2001
From: Sam Georges
Date: Thu, 15 May 2014 16:22:22 +1000
Subject: [PATCH 02/24] Tighten up events
---
modules/backend/widgets/Lists.php | 12 ++++++------
modules/cms/classes/Controller.php | 8 ++++----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/modules/backend/widgets/Lists.php b/modules/backend/widgets/Lists.php
index 9de52f232..dd5bd0592 100644
--- a/modules/backend/widgets/Lists.php
+++ b/modules/backend/widgets/Lists.php
@@ -514,8 +514,8 @@ class Lists extends WidgetBase
/*
* Extensibility
*/
- if (($response = Event::fire('backend.list.overrideHeaderValue', [$this, $column, $value])) && is_array($response))
- $value = array_pop($response);
+ if ($response = Event::fire('backend.list.overrideHeaderValue', [$this, $column, $value], true))
+ $value = $response;
if (($response = $this->trigger('list.overrideHeaderValue', $this, $column, $value)) && is_array($response))
$value = array_pop($response);
@@ -536,8 +536,8 @@ class Lists extends WidgetBase
/*
* Extensibility
*/
- if (($response = Event::fire('backend.list.overrideColumnValue', [$this, $record, $column, $value])) && is_array($response))
- $value = array_pop($response);
+ if ($response = Event::fire('backend.list.overrideColumnValue', [$this, $record, $column, $value], true))
+ $value = $response;
if (($response = $this->trigger('list.overrideColumnValue', $this, $record, $column, $value)) && is_array($response))
$value = array_pop($response);
@@ -557,8 +557,8 @@ class Lists extends WidgetBase
/*
* Extensibility
*/
- if (($response = Event::fire('backend.list.injectRowClass', [$this, $record])) && is_array($response))
- $value = array_pop($response);
+ if ($response = Event::fire('backend.list.injectRowClass', [$this, $record], true))
+ $value = $response;
if (($response = $this->trigger('list.injectRowClass', $this, $record)) && is_array($response))
$value = array_pop($response);
diff --git a/modules/cms/classes/Controller.php b/modules/cms/classes/Controller.php
index e7d3048bd..d6418f076 100644
--- a/modules/cms/classes/Controller.php
+++ b/modules/cms/classes/Controller.php
@@ -111,8 +111,8 @@ class Controller extends BaseController
/*
* Extensibility
*/
- if (($event = Event::fire('cms.beforeDisplay', [$this, $url, $page])) && is_array($event))
- return array_pop($event);
+ if ($event = Event::fire('cms.beforeDisplay', [$this, $url, $page], true))
+ return $event;
/*
* If the page was not found, render the 404 page - either provided by the theme or the built-in one.
@@ -190,8 +190,8 @@ class Controller extends BaseController
/*
* Extensibility
*/
- if (($event = Event::fire('cms.afterDisplay', [$this, $url, $page])) && is_array($event))
- return array_pop($event);
+ if ($event = Event::fire('cms.afterDisplay', [$this, $url, $page], true))
+ return $event;
return $result;
}
From 5bf215e648c4f24bd2d8caf1637404497e09caad Mon Sep 17 00:00:00 2001
From: Sam Georges
Date: Thu, 15 May 2014 16:53:06 +1000
Subject: [PATCH 03/24] Fixes unit test (stat failure)
---
modules/cms/classes/CmsObject.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/cms/classes/CmsObject.php b/modules/cms/classes/CmsObject.php
index e7810c9e7..171aa7191 100644
--- a/modules/cms/classes/CmsObject.php
+++ b/modules/cms/classes/CmsObject.php
@@ -338,7 +338,7 @@ class CmsObject
}
clearstatcache();
- $this->mtime = File::lastModified($fullPath);
+ $this->mtime = @File::lastModified($fullPath);
$this->originalFileName = $this->fileName;
}
From bdff075058498e26ea0cd1c50f55b8c5783e9298 Mon Sep 17 00:00:00 2001
From: Sam Georges
Date: Thu, 15 May 2014 17:23:46 +1000
Subject: [PATCH 04/24] Improve event emitter trait
---
modules/backend/behaviors/FormController.php | 4 ++--
modules/backend/behaviors/ListController.php | 12 ++++++------
modules/backend/behaviors/RelationController.php | 4 ++--
modules/backend/widgets/Form.php | 4 ++--
modules/backend/widgets/Lists.php | 16 ++++++++--------
modules/backend/widgets/Search.php | 2 +-
modules/system/behaviors/SettingsModel.php | 6 +++---
7 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/modules/backend/behaviors/FormController.php b/modules/backend/behaviors/FormController.php
index 73f8bce48..22c6f1da3 100644
--- a/modules/backend/behaviors/FormController.php
+++ b/modules/backend/behaviors/FormController.php
@@ -79,11 +79,11 @@ class FormController extends ControllerBehavior
*/
$this->formWidget = $this->makeWidget('Backend\Widgets\Form', $config);
- $this->formWidget->bind('form.extendFieldsBefore', function($host) {
+ $this->formWidget->bindEvent('form.extendFieldsBefore', function($host) {
$this->controller->formExtendFieldsBefore($host);
});
- $this->formWidget->bind('form.extendFields', function($host) {
+ $this->formWidget->bindEvent('form.extendFields', function($host) {
$this->controller->formExtendFields($host);
});
diff --git a/modules/backend/behaviors/ListController.php b/modules/backend/behaviors/ListController.php
index d2d19e80e..ef93ddf20 100644
--- a/modules/backend/behaviors/ListController.php
+++ b/modules/backend/behaviors/ListController.php
@@ -128,23 +128,23 @@ class ListController extends ControllerBehavior
/*
* Extensibility helpers
*/
- $widget->bind('list.extendQueryBefore', function($host, $query) use ($definition) {
+ $widget->bindEvent('list.extendQueryBefore', function($host, $query) use ($definition) {
$this->controller->listExtendQueryBefore($query, $definition);
});
- $widget->bind('list.extendQuery', function($host, $query) use ($definition) {
+ $widget->bindEvent('list.extendQuery', function($host, $query) use ($definition) {
$this->controller->listExtendQuery($query, $definition);
});
- $widget->bind('list.injectRowClass', function($host, $record) use ($definition) {
+ $widget->bindEvent('list.injectRowClass', function($host, $record) use ($definition) {
return $this->controller->listInjectRowClass($record, $definition);
});
- $widget->bind('list.overrideColumnValue', function($host, $record, $column, $value) use ($definition) {
+ $widget->bindEvent('list.overrideColumnValue', function($host, $record, $column, $value) use ($definition) {
return $this->controller->listOverrideColumnValue($record, $column->columnName, $definition);
});
- $widget->bind('list.overrideHeaderValue', function($host, $column, $value) use ($definition) {
+ $widget->bindEvent('list.overrideHeaderValue', function($host, $column, $value) use ($definition) {
return $this->controller->listOverrideHeaderValue($column->columnName, $definition);
});
@@ -162,7 +162,7 @@ class ListController extends ControllerBehavior
* Link the Search Widget to the List Widget
*/
if ($searchWidget = $toolbarWidget->getSearchWidget()) {
- $searchWidget->bind('search.submit', function() use ($widget, $searchWidget) {
+ $searchWidget->bindEvent('search.submit', function() use ($widget, $searchWidget) {
$widget->setSearchTerm($searchWidget->getActiveTerm());
return $widget->onRender();
});
diff --git a/modules/backend/behaviors/RelationController.php b/modules/backend/behaviors/RelationController.php
index 4f441618e..e36e2c8ad 100644
--- a/modules/backend/behaviors/RelationController.php
+++ b/modules/backend/behaviors/RelationController.php
@@ -498,7 +498,7 @@ class RelationController extends ControllerBehavior
$config->showCheckboxes = true;
$widget = $this->makeWidget('Backend\Widgets\Lists', $config);
- $widget->bind('list.extendQueryBefore', function($host, $query) {
+ $widget->bindEvent('list.extendQueryBefore', function($host, $query) {
$this->relationObject->setQuery($query);
$this->relationObject->addConstraints();
});
@@ -572,7 +572,7 @@ class RelationController extends ControllerBehavior
* Exclude exisiting relationships
*/
if ($this->manageMode == 'pivot' || $this->manageMode == 'list') {
- $widget->bind('list.extendQueryBefore', function($host, $query) {
+ $widget->bindEvent('list.extendQueryBefore', function($host, $query) {
/*
* Where not in the current list of related records
diff --git a/modules/backend/widgets/Form.php b/modules/backend/widgets/Form.php
index 43c6ea7b1..ec6848472 100644
--- a/modules/backend/widgets/Form.php
+++ b/modules/backend/widgets/Form.php
@@ -218,7 +218,7 @@ class Form extends WidgetBase
* Extensibility
*/
Event::fire('backend.form.extendFieldsBefore', [$this]);
- $this->trigger('form.extendFieldsBefore', $this);
+ $this->fireEvent('form.extendFieldsBefore', $this);
/*
* Outside fields
@@ -248,7 +248,7 @@ class Form extends WidgetBase
* Extensibility
*/
Event::fire('backend.form.extendFields', [$this]);
- $this->trigger('form.extendFields', $this);
+ $this->fireEvent('form.extendFields', $this);
/*
* Convert automatic spanned fields
diff --git a/modules/backend/widgets/Lists.php b/modules/backend/widgets/Lists.php
index dd5bd0592..67e4f9974 100644
--- a/modules/backend/widgets/Lists.php
+++ b/modules/backend/widgets/Lists.php
@@ -259,7 +259,7 @@ class Lists extends WidgetBase
* Extensibility
*/
Event::fire('backend.list.extendQueryBefore', [$this, $query]);
- $this->trigger('list.extendQueryBefore', $this, $query);
+ $this->fireEvent('list.extendQueryBefore', [$this, $query]);
/*
* Related custom selects, must come first
@@ -331,7 +331,7 @@ class Lists extends WidgetBase
* Extensibility
*/
Event::fire('backend.list.extendQuery', [$this, $query]);
- $this->trigger('list.extendQuery', $this, $query);
+ $this->fireEvent('list.extendQuery', [$this, $query]);
// Grouping due to the joinWith() call
$query->select($selects);
@@ -517,8 +517,8 @@ class Lists extends WidgetBase
if ($response = Event::fire('backend.list.overrideHeaderValue', [$this, $column, $value], true))
$value = $response;
- if (($response = $this->trigger('list.overrideHeaderValue', $this, $column, $value)) && is_array($response))
- $value = array_pop($response);
+ if ($response = $this->fireEvent('list.overrideHeaderValue', [$this, $column, $value], true))
+ $value = $response;
return $value;
}
@@ -539,8 +539,8 @@ class Lists extends WidgetBase
if ($response = Event::fire('backend.list.overrideColumnValue', [$this, $record, $column, $value], true))
$value = $response;
- if (($response = $this->trigger('list.overrideColumnValue', $this, $record, $column, $value)) && is_array($response))
- $value = array_pop($response);
+ if ($response = $this->fireEvent('list.overrideColumnValue', [$this, $record, $column, $value], true))
+ $value = $response;
return $value;
}
@@ -560,8 +560,8 @@ class Lists extends WidgetBase
if ($response = Event::fire('backend.list.injectRowClass', [$this, $record], true))
$value = $response;
- if (($response = $this->trigger('list.injectRowClass', $this, $record)) && is_array($response))
- $value = array_pop($response);
+ if ($response = $this->fireEvent('list.injectRowClass', [$this, $record], true))
+ $value = $response;
return $value;
}
diff --git a/modules/backend/widgets/Search.php b/modules/backend/widgets/Search.php
index 8832fb805..1cf2dca6e 100644
--- a/modules/backend/widgets/Search.php
+++ b/modules/backend/widgets/Search.php
@@ -90,7 +90,7 @@ class Search extends WidgetBase
* Trigger class event, merge results as viewable array
*/
$params = func_get_args();
- $result = $this->trigger('search.submit', $params);
+ $result = $this->fireEvent('search.submit', [$params]);
return Util::arrayMerge($result);
}
diff --git a/modules/system/behaviors/SettingsModel.php b/modules/system/behaviors/SettingsModel.php
index 88a8ebd89..70e958928 100644
--- a/modules/system/behaviors/SettingsModel.php
+++ b/modules/system/behaviors/SettingsModel.php
@@ -52,9 +52,9 @@ class SettingsModel extends ModelBehavior
/*
* Access to model's overrides is unavailable, using events instead
*/
- $this->model->bind('model.afterFetch', [$this, 'afterModelFetch']);
- $this->model->bind('model.beforeSave', [$this, 'beforeModelSave']);
- $this->model->bind('model.afterSetAttribute', [$this, 'setModelAttribute']);
+ $this->model->bindEvent('model.afterFetch', [$this, 'afterModelFetch']);
+ $this->model->bindEvent('model.beforeSave', [$this, 'beforeModelSave']);
+ $this->model->bindEvent('model.afterSetAttribute', [$this, 'setModelAttribute']);
/*
* Parse the config
From 31982dc23527e71a6a397527fd44438520b487ac Mon Sep 17 00:00:00 2001
From: RomanGorbatko
Date: Thu, 15 May 2014 10:54:00 +0300
Subject: [PATCH 05/24] Update .htaccess
If site don't work without "index.php" in URL, need add this string.
---
.htaccess | 1 +
1 file changed, 1 insertion(+)
diff --git a/.htaccess b/.htaccess
index e14522250..a18974474 100644
--- a/.htaccess
+++ b/.htaccess
@@ -4,6 +4,7 @@
RewriteEngine On
+ RewriteBase /
##
## Handle resource requests
From c6df6f897b9532ad1667ddad8d73a0b430a5b3b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emir=20Kars=CC=A7=C4=B1yakal=C4=B1?=
Date: Thu, 15 May 2014 13:31:17 +0300
Subject: [PATCH 06/24] Added Turkish language files
---
modules/backend/lang/tr/lang.php | 128 +++++++++++++++++++++++++
modules/cms/lang/tr/lang.php | 132 ++++++++++++++++++++++++++
modules/system/lang/tr/lang.php | 96 +++++++++++++++++++
modules/system/lang/tr/validation.php | 108 +++++++++++++++++++++
4 files changed, 464 insertions(+)
create mode 100644 modules/backend/lang/tr/lang.php
create mode 100644 modules/cms/lang/tr/lang.php
create mode 100644 modules/system/lang/tr/lang.php
create mode 100644 modules/system/lang/tr/validation.php
diff --git a/modules/backend/lang/tr/lang.php b/modules/backend/lang/tr/lang.php
new file mode 100644
index 000000000..5660001a7
--- /dev/null
+++ b/modules/backend/lang/tr/lang.php
@@ -0,0 +1,128 @@
+ [
+ 'invalid_type' => 'Invalid field type used :type.',
+ 'options_method_not_exists' => 'The model class :model must define a method :method() returning options for the ":field" form field.',
+ ],
+ 'widget' => [
+ 'not_registered' => "A widget class name ':name' has not been registered",
+ 'not_bound' => "A widget with class name ':name' has not been bound to the controller",
+ ],
+ 'page' => [
+ 'untitled' => "Başlıksız",
+ ],
+ 'partial' => [
+ 'not_found' => "':name' bölümü bulunamadı.",
+ ],
+ 'account' => [
+ 'sign_out' => 'Çıkış',
+ 'login' => 'Giriş',
+ 'reset' => 'Sıfırla',
+ 'restore' => 'Geri yükle',
+ 'login_placeholder' => 'kullanıcı adı',
+ 'password_placeholder' => 'parola',
+ 'forgot_password' => "Parolanızı mı unuttunuz?",
+ 'enter_email' => "Email adresinizi girin",
+ 'enter_login' => "Kullanıcı adınızı girin",
+ 'email_placeholder' => "email",
+ 'enter_new_password' => "Yeni Parolanızı girin",
+ 'password_reset' => "Parola Sıfırla",
+ 'restore_success' => "Email adresinize parolanızı nasıl sıfırlayacağınıza dair bilgiler gönderilmiştir.",
+ 'restore_error' => "':login' kullanıcı adı bulunamadı.",
+ 'reset_success' => "Parolanız başarıyla sıfırlandı. Giriş yapabilirsiniz.",
+ 'reset_error' => "Hatalı giriş yaptınız. Lütfen tekrar deneyin!",
+ 'reset_fail' => "Parolanız sıfırlanamıyor!",
+ 'apply' => 'Onayla',
+ 'cancel' => 'İptal',
+ 'delete' => 'Sil',
+ 'ok' => 'OK',
+ ],
+ 'dashboard' => [
+ 'menu_label' => 'Pano',
+ ],
+ 'user' => [
+ 'name' => 'Yönetici',
+ 'menu_label' => 'Yöneticiler',
+ 'list_title' => 'Yöneticileri Yönet',
+ 'login' => "Kullanıcı Adı",
+ 'first_name' => "Adı",
+ 'last_name' => "Soyadı",
+ 'full_name' => "Tam Adı",
+ 'email' => "Email",
+ 'groups' => "Gruplar",
+ 'groups_comment' => "Kullanıcının hangi gruba bağlı olduğunu belirleyin.",
+ 'avatar' => "Avatar",
+ 'password' => "Parola",
+ 'password_confirmation' => "Parola Onayı",
+ 'superuser' => "Süper Kullanıcı",
+ 'superuser_comment' => "Kullanıcıya her alanda yetki vermek için burayı işaretleyin.",
+ 'send_invite' => 'Email ile davet gönder',
+ 'send_invite_comment' => 'Kullanıcının email adresine davet göndermek için burayı işaretleyin',
+ 'group' => [
+ 'name' => 'Grup',
+ 'name_field' => 'Adı',
+ 'menu_label' => 'Gruplar',
+ 'list_title' => 'Grupları Yönet',
+ ],
+ 'preferences' => [
+ 'not_authenticated' => 'There is no an authenticated user to load or save preferences for.'
+ ]
+ ],
+ 'list' => [
+ 'default_title' => 'Liste',
+ 'search_prompt' => 'Arama...',
+ 'no_records' => 'There are no records in this view.',
+ 'missing_model' => 'List behavior used in :class does not have a model defined.',
+ 'missing_column' => 'There are no column definitions for :columns.',
+ 'missing_columns' => 'List used in :class has no list columns defined.',
+ 'missing_definition' => "List behavior does not contain a column for ':field'.",
+ 'behavior_not_ready' => 'List behavior has not been initialized, check that you have called makeLists() in your controller.',
+ ],
+ 'form' => [
+ 'create_title' => ":name Oluştur",
+ 'update_title' => ":name Düzenle",
+ 'preview_title' => ":name Görüntüle",
+ 'create_success' => ':name başarıyla oluşturuldu',
+ 'update_success' => ':name başarıyla güncellendi',
+ 'delete_success' => ':name başarıyla silindi',
+ 'missing_id' => "Form record ID has not been specified.",
+ 'missing_model' => 'Form behavior used in :class does not have a model defined.',
+ 'missing_definition' => "Form behavior does not contain a field for ':field'.",
+ 'not_found' => 'Form record with an ID of :id could not be found.',
+ 'save' => 'Kaydet',
+ 'save_and_close' => 'Kaydet ve kapat',
+ 'saving' => 'Kaydediliyor...',
+ 'undefined_tab' => 'Diğer',
+ 'field_off' => 'Kapalı',
+ 'field_on' => 'Açık',
+ 'apply' => 'Kabul',
+ 'cancel' => 'İptal',
+ 'close' => 'Kapat',
+ 'delete' => 'Sil',
+ 'ok' => 'OK',
+ 'confirm_tab_close' => 'Bu sekmeyi kapatmak istediğinize gerçekten emin misiniz? Kaydedilmemiş değişiklikleri kaybedeceksiniz.',
+ 'behavior_not_ready' => 'Form behavior has not been initialized, check that you have called initForm() in your controller.',
+ ],
+ 'relation' => [
+ 'missing_definition' => "Relation behavior does not contain a definition for ':field'.",
+ 'missing_model' => "Relation behavior used in :class does not have a model defined.",
+ 'invalid_action_single' => "This action cannot be performed on a singular relationship.",
+ 'invalid_action_multi' => "This action cannot be performed on a multiple relationship.",
+ 'add' => "Ekle",
+ 'add_name' => ":name Ekle",
+ 'create' => "Oluştur",
+ 'create_name' => ":name Oluştur",
+ 'remove' => "Kaldır",
+ 'remove_name' => ":name Kaldır",
+ 'delete' => "Sil",
+ 'delete_name' => ":name Sil",
+ ],
+ 'model' => [
+ 'name' => "Model",
+ 'not_found' => "Model ':class' with an ID of :id could not be found",
+ 'missing_id' => "There is no ID specified for looking up the model record.",
+ 'missing_relation' => "Model ':class' does not contain a definition for ':relation'.",
+ 'invalid_class' => "Model :model used in :class is not valid, it must inherit the \Model class.",
+ ],
+];
\ No newline at end of file
diff --git a/modules/cms/lang/tr/lang.php b/modules/cms/lang/tr/lang.php
new file mode 100644
index 000000000..9a8cdc70b
--- /dev/null
+++ b/modules/cms/lang/tr/lang.php
@@ -0,0 +1,132 @@
+ [
+ 'invalid_file' => 'Hatalı dosya adı: :name. File names can contain only alphanumeric symbols, underscores, dashes and dots. Bazı doğru dosya adı örnekleri: page.htm, page, subdirectory/page',
+ 'invalid_property' => 'The property ":name" cannot be set',
+ 'file_already_exists' => '":name" isimli dosya mevcut.',
+ 'error_saving' => '":name" kaydedilirken hatayla karşılaşıldı.',
+ 'error_creating_directory' => ':name klasörü oluşturulurken hatayla karşılaşıldı',
+ 'invalid_file_extension'=>'Hatalı dosya uzantısı: :invalid. İzin verilen uzantılar: :allowed.',
+ 'error_deleting' => '":name" şablon dosyası silinirken hatayla karşılaşıldı.',
+ 'delete_success' => ':count şablon başarıyla silindi.',
+ 'file_name_required' => 'Dosya adı alanı gereklidir.'
+ ],
+ 'theme' => [
+ 'active' => [
+ 'not_set' => "The active theme is not set.",
+ ],
+ 'edit' => [
+ 'not_set' => "The edit theme is not set.",
+ 'not_found' => "The edit theme is not found.",
+ 'not_match' => "The object you're trying to access doesn't belong to the theme being edited. Please reload the page."
+ ]
+ ],
+ 'page' => [
+ 'not_found' => [
+ 'label' => "Sayfa bulunamadı",
+ 'help' => "İstenilen sayfa bulunamadı.",
+ ],
+ 'custom_error' => [
+ 'label' => "Sayfa hatası",
+ 'help' => "Üzgünüz, bir şeyler ters gitti ve sayfa görüntülenemiyor.",
+ ],
+ 'menu_label' => 'Sayfalar',
+ 'no_list_records' => 'Hiç sayfa yok.',
+ 'new' => 'Sayfa oluştur',
+ 'invalid_url' => 'Hata URL formatı. The URL should start with the forward slash symbol and can contain digits, Latin letters and the following symbols: _-[]:?|/+*',
+ 'delete_confirm_multiple' => 'Seçili sayfaları silmek istediğinize emin misiniz?',
+ 'delete_confirm_single' => 'Bu sayfayı silmek istediğinize emin misiniz?',
+ 'no_layout' => '-- şablon yok --'
+ ],
+ 'layout' => [
+ 'not_found' => "':name' isimli şablon bulunamadı",
+ 'menu_label' => 'Şablonlar',
+ 'no_list_records' => 'Şablon bulunamadı',
+ 'new' => 'Şablon oluştur',
+ 'delete_confirm_multiple' => 'Seçili şablonları silmek istediğinize emin misiniz?',
+ 'delete_confirm_single' => 'Seçili şablonu silmek istediğinize emin misiniz?'
+ ],
+ 'partial' => [
+ 'invalid_name' => "Hatalı bölüm adı: :name.",
+ 'not_found' => "':name' bölümü bulunamadı.",
+ 'menu_label' => 'Bölümler',
+ 'no_list_records' => 'Bölüm bulunamadı.',
+ 'delete_confirm_multiple' => 'Seçili bölümleri silmek istediğinize gerçekten emin misiniz?',
+ 'delete_confirm_single' => 'Bu bölümü silmek istediğinize emin misiniz?',
+ 'new' => 'Bölüm Oluştur'
+ ],
+ 'content' => [
+ 'not_found' => "':name' isminde içerik dosyası bulunamadı.",
+ 'menu_label' => 'İçerik',
+ 'no_list_records' => 'İçerik dosyası bulunamadı.',
+ 'delete_confirm_multiple' => 'Seçili içerik dosyaları veya klasörlerini silmek istediğinize gerçekten emin misiniz?',
+ 'delete_confirm_single' => 'Bu içerik dosyasını silmek istediğinize emin misiniz?',
+ 'new' => 'Yeni İçerik'
+ ],
+ 'ajax_handler' => [
+ 'invalid_name' => "Hatalı AJAX işleyici adı: :name.",
+ 'not_found' => "':name' isimli AJAX işleyici bulunamadı.",
+ ],
+ 'combiner' => [
+ 'not_found' => "The combiner file ':name' is not found.",
+ ],
+ 'cms' => [
+ 'menu_label' => "CMS"
+ ],
+ 'asset' => [
+ 'menu_label' => "Dosyalar",
+ 'drop_down_add_title' => 'Ekle...',
+ 'drop_down_operation_title' => 'İşlemler...',
+ 'upload_files' => 'Dosya(lar) yükle',
+ 'create_file' => 'Dosya oluştur',
+ 'create_directory' => 'Klasör oluştur',
+ 'rename' => 'Yeniden isimlendir',
+ 'delete' => 'Sil',
+ 'move' => 'Taşı',
+ 'new' => 'Yeni dosya',
+ 'rename_popup_title' => 'Yeniden isimlendir',
+ 'rename_new_name' => 'Yeni isim',
+ 'invalid_path' => 'Path can contain only digits, Latin letters, spaces and the following symbols: ._-/',
+ 'error_deleting_file' => ':name dosyası silinirken hatayla karşılaşıldı.',
+ 'error_deleting_dir_not_empty' => 'Error deleting directory :name. The directory is not empty.',
+ 'error_deleting_dir' => ':name dosyası silinirken hatayla karşılaşıldı.',
+ 'invalid_name' => 'Name can contain only digits, Latin letters, spaces and the following symbols: ._-',
+ 'original_not_found' => 'Original file or directory not found',
+ 'already_exists' => 'File or directory with this name already exists',
+ 'error_renaming' => 'Error renaming the file or directory',
+ 'name_cant_be_empty' => 'İsim alanı boş bırakılamaz.',
+ 'too_large' => 'Yüklenen dosya çok büyük. İzin verilen maksimum boyut :max_size',
+ 'type_not_allowed' => 'İzin verilen dosya tipleri: :allowed_types',
+ 'file_not_valid' => 'Dosya geçerli değil',
+ 'error_uploading_file' => '":name" yüklenirken hatayla karşılaşıldı: :error',
+ 'move_please_select' => 'lütfen seçiniz',
+ 'move_destination' => 'Hedef klasör',
+ 'move_popup_title' => 'Assets taşı',
+ 'move_button' => 'Taşı',
+ 'selected_files_not_found' => 'Seçilen dosyalar bulunamadı.',
+ 'select_destination_dir' => 'Lütfen hedef klasör seçiniz',
+ 'destination_not_found' => 'Hedef klasör bulunamadı',
+ 'error_moving_file' => ':file dosyası taşınırken hatayla karşılaşıldı',
+ 'error_moving_directory' => ':dir klasörü taşınırken hatayla karşılaşıldı',
+ 'error_deleting_directory' => ':dir klasörü silinirken hatayla karşılaşıldı',
+ 'path' => 'Yol'
+ ],
+ 'component' => [
+ 'menu_label' => "Bileşenler",
+ 'unnamed' => "İsimsiz",
+ 'no_description' => "Açıklama girilmedi.",
+ 'alias' => "Takma ad",
+ 'alias_description' => "A unique name given to this component when using it in the page or layout code.",
+ 'validation_message' => "Component aliases are required and can contain only Latin symbols, digits, and underscores. The aliases should start with a Latin symbol.",
+ 'invalid_request' => "Şablon hatalı bileşen verisi olduğu için kaydedilemedi.",
+ 'no_records' => 'Bileşen bulunamadı.',
+ 'not_found' => "':name' isimli bileşen bulunamadı.",
+ 'method_not_found' => "':name' isimli bileşen ':method'unu içermiyor.",
+ ],
+ 'template' => [
+ 'invalid_type' => "Hatalı şablon tipi.",
+ 'not_found' => "İstenilen şablon bulunamadı.",
+ 'saved'=> "Şablon başarıyla kaydedildi."
+ ]
+];
\ No newline at end of file
diff --git a/modules/system/lang/tr/lang.php b/modules/system/lang/tr/lang.php
new file mode 100644
index 000000000..06872d7c5
--- /dev/null
+++ b/modules/system/lang/tr/lang.php
@@ -0,0 +1,96 @@
+ [
+ 'name' => 'October CMS',
+ 'motto' => 'Getting back to basics',
+ ],
+ 'directory' => [
+ 'create_fail' => "Klasör oluşturulamıyor: :name",
+ ],
+ 'file' => [
+ 'create_fail' => "Dosya oluşturulamıyor: :name",
+ ],
+ 'system' => [
+ 'name' => 'Sistem',
+ 'menu_label' => 'Sistem',
+ ],
+ 'plugin' => [
+ 'unnamed' => 'İsimsiz eklenti',
+ 'name' => [
+ 'label' => 'Eklenti Adı',
+ 'help' => 'Eklenti adı eşsiz olmalıdır. Örneğin, RainLab.Blog',
+ ],
+ ],
+ 'project' => [
+ 'name' => 'Proje',
+ 'owner_label' => 'Sahibi',
+ 'id' => [
+ 'label' => 'Proje ID',
+ 'help' => 'Proje ID\'sini nasıl bulurum?',
+ 'missing' => 'Lütfen kullanılacak Proje ID\'sini belirleyin.',
+ ],
+ 'unbind_success' => 'Project has been detached successfully.',
+ ],
+ 'settings' => [
+ 'menu_label' => 'Ayarlar',
+ 'missing_model' => 'The settings page is missing a Model definition.',
+ 'update_success' => 'Settings for :name have been updated successfully.',
+ ],
+ 'install' => [
+ 'project_label' => 'Projeye bağla',
+ 'plugin_label' => 'Eklenti Yükle',
+ 'missing_plugin_name' => 'Yüklemek istediğiniz eklentinin adını girin.',
+ 'install_completing' => 'Finishing installation process',
+ 'install_success' => 'The plugin has been installed successfully.',
+ ],
+ 'updates' => [
+ 'name' => 'Yazılım Güncelleme',
+ 'menu_label' => 'Güncellemeler',
+ 'check_label' => 'Güncellemeleri kontrol et',
+ 'retry_label' => 'Tekrar dene',
+ 'core_build' => 'Mevcut versiyon',
+ 'core_build_old' => 'Mevcut versiyon :build',
+ 'core_build_new' => 'Versiyon :build',
+ 'core_build_new_help' => 'Son versiyon kullanılabilir.',
+ 'core_downloading' => 'Uygulama dosyaları indiriliyor',
+ 'core_extracting' => 'Uygulama dosyaları çıkarılıyor',
+ 'plugin_downloading' => 'Eklenti indiriliyor: :name',
+ 'plugin_extracting' => 'Eklenti dosyaları çıkarılıyor: :name',
+ 'plugin_version_none' => 'Yeni eklenti',
+ 'plugin_version_old' => 'Mevcut v:version',
+ 'plugin_version_new' => 'v:version',
+ 'update_label' => 'Yazılım güncelle',
+ 'update_completing' => 'Güncelleme işlemi bitiyor',
+ 'update_loading' => 'Kullanılabilir güncellemeler yükleniyor...',
+ 'update_success' => 'Güncelleme işlemi başarıyla sonuçlandı.',
+ 'update_failed_label' => 'Güncelleme hatası',
+ 'force_label' => 'Güncellemeye zorla',
+ 'found' => [
+ 'label' => 'Güncellemeler bulundu!',
+ 'help' => 'Yazılım güncelleye tıklayarak güncelleme işlemini başlatabilirsiniz.',
+ ],
+ 'none' => [
+ 'label' => 'Güncelleme yok',
+ 'help' => 'Yenü güncelleme bulunamadı.',
+ ],
+ ],
+ 'server' => [
+ 'connect_error' => 'Sunucuyla bağlantı kurulamadı.',
+ 'response_not_found' => 'Güncelleme sunucusu bulunamadı.',
+ 'response_invalid' => 'Sunucudan hatalı cevap geldi.',
+ 'response_empty' => 'Sunucudan boş cevap geldi.',
+ 'file_error' => 'Paket teslim edilirken sunucuda hata meydana geldi.',
+ 'file_corrupt' => 'Sunucudaki dosya bozulmuş.',
+ ],
+ 'behavior' => [
+ 'missing_property' => 'Class :class must define property $:property used by :behavior behavior.',
+ ],
+ 'config' => [
+ 'not_found' => 'Unable to find configuration file :file defined for :location.',
+ 'required' => 'Configuration used in :location must supply a value :property.',
+ ],
+ 'zip' => [
+ 'extract_failed' => "Unable to extract core file ':file'.",
+ ],
+];
\ No newline at end of file
diff --git a/modules/system/lang/tr/validation.php b/modules/system/lang/tr/validation.php
new file mode 100644
index 000000000..c40becc52
--- /dev/null
+++ b/modules/system/lang/tr/validation.php
@@ -0,0 +1,108 @@
+
+ * @link http://sinaneldem.com.tr
+ */
+
+ "accepted" => ":attribute kabul edilmelidir.",
+ "active_url" => ":attribute geçerli bir URL olmalıdır.",
+ "after" => ":attribute şundan daha eski bir tarih olmalıdır :date.",
+ "alpha" => ":attribute sadece harflerden oluşmalıdır.",
+ "alpha_dash" => ":attribute sadece harfler, rakamlar ve tirelerden oluşmalıdır.",
+ "alpha_num" => ":attribute sadece harfler ve rakamlar içermelidir.",
+ "array" => ":attribute dizi olmalıdır.",
+ "before" => ":attribute şundan daha önceki bir tarih olmalıdır :date.",
+ "between" => array(
+ "numeric" => ":attribute :min - :max arasında olmalıdır.",
+ "file" => ":attribute :min - :max arasındaki kilobayt değeri olmalıdır.",
+ "string" => ":attribute :min - :max arasında karakterden oluşmalıdır.",
+ "array" => ":attribute :min - :max arasında nesneye sahip olmalıdır."
+ ),
+ "confirmed" => ":attribute tekrarı eşleşmiyor.",
+ "date" => ":attribute geçerli bir tarih olmalıdır.",
+ "date_format" => ":attribute :format biçimi ile eşleşmiyor.",
+ "different" => ":attribute ile :other birbirinden farklı olmalıdır.",
+ "digits" => ":attribute :digits rakam olmalıdır.",
+ "digits_between" => ":attribute :min ile :max arasında rakam olmalıdır.",
+ "email" => ":attribute biçimi geçersiz.",
+ "exists" => "Seçili :attribute geçersiz.",
+ "image" => ":attribute alanı resim dosyası olmalıdır.",
+ "in" => ":attribute değeri geçersiz.",
+ "integer" => ":attribute rakam olmalıdır.",
+ "ip" => ":attribute geçerli bir IP adresi olmalıdır.",
+ "max" => array(
+ "numeric" => ":attribute değeri :max değerinden küçük olmalıdır.",
+ "file" => ":attribute değeri :max kilobayt değerinden küçük olmalıdır.",
+ "string" => ":attribute değeri :max karakter değerinden küçük olmalıdır.",
+ "array" => ":attribute değeri :max adedinden az nesneye sahip olmalıdır."
+ ),
+ "mimes" => ":attribute dosya biçimi :values olmalıdır.",
+ "min" => array(
+ "numeric" => ":attribute değeri :min değerinden büyük olmalıdır.",
+ "file" => ":attribute değeri :min kilobayt değerinden büyük olmalıdır.",
+ "string" => ":attribute değeri :min karakter değerinden büyük olmalıdır.",
+ "array" => ":attribute en az :min nesneye sahip olmalıdır."
+ ),
+ "not_in" => "Seçili :attribute geçersiz.",
+ "numeric" => ":attribute rakam olmalıdır.",
+ "regex" => ":attribute biçimi geçersiz.",
+ "required" => ":attribute alanı gereklidir.",
+ "required_if" => ":attribute alanı, :other :value değerine sahip olduğunda zorunludur.",
+ "required_with" => ":attribute alanı :values varken zorunludur.",
+ "required_with_all" => ":attribute alanı :values varken zorunludur.",
+ "required_without" => ":attribute alanı :values yokken zorunludur.",
+ "required_without_all" => ":attribute alanı :values yokken zorunludur.",
+ "same" => ":attribute ile :other eşleşmelidir.",
+ "size" => array(
+ "numeric" => ":attribute :size olmalıdır.",
+ "file" => ":attribute :size kilobyte olmalıdır.",
+ "string" => ":attribute :size karakter olmalıdır.",
+ "array" => ":attribute :size nesneye sahip olmalıdır."
+ ),
+ "unique" => ":attribute daha önceden kayıt edilmiş.",
+ "url" => ":attribute biçimi geçersiz.",
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => array(),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => array(),
+
+);
\ No newline at end of file
From f4bf9e192fe07034ff3da911b42fb75bb35900c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pa=CC=88r=20Karlsson?=
Date: Thu, 15 May 2014 15:17:41 +0200
Subject: [PATCH 07/24] Added swedish language support
---
modules/backend/lang/sv/lang.php | 128 +++++++++++++++++++++++++
modules/cms/lang/sv/lang.php | 132 ++++++++++++++++++++++++++
modules/system/lang/sv/lang.php | 96 +++++++++++++++++++
modules/system/lang/sv/validation.php | 98 +++++++++++++++++++
4 files changed, 454 insertions(+)
create mode 100644 modules/backend/lang/sv/lang.php
create mode 100644 modules/cms/lang/sv/lang.php
create mode 100644 modules/system/lang/sv/lang.php
create mode 100644 modules/system/lang/sv/validation.php
diff --git a/modules/backend/lang/sv/lang.php b/modules/backend/lang/sv/lang.php
new file mode 100644
index 000000000..02a958604
--- /dev/null
+++ b/modules/backend/lang/sv/lang.php
@@ -0,0 +1,128 @@
+ [
+ 'invalid_type' => 'Felaktig fälttyp använd :type.',
+ 'options_method_not_exists' => 'Modelklassen :model måste definera en metod :method() som returnerar villkor för formfältet ":field"',
+ ],
+ 'widget' => [
+ 'not_registered' => "En widget med klassnamnet ':name' har ej blivit registrerad",
+ 'not_bound' => "En widget med klassnamnet ':name' saknas i controllern",
+ ],
+ 'page' => [
+ 'untitled' => "Ej namngiven",
+ ],
+ 'partial' => [
+ 'not_found' => "En partial med namn ':name' kunde ej hittas",
+ ],
+ 'account' => [
+ 'sign_out' => 'Logga ut',
+ 'login' => 'Logga in',
+ 'reset' => 'Nollställ',
+ 'restore' => 'Återställ',
+ 'login_placeholder' => 'användarnamn',
+ 'password_placeholder' => 'lösenord',
+ 'forgot_password' => "Glömt ditt lösenord?",
+ 'enter_email' => "Ange din epost-adress",
+ 'enter_login' => "Ange ditt användarnamn",
+ 'email_placeholder' => "epost",
+ 'enter_new_password' => "Välj ett nytt lösenord",
+ 'password_reset' => "Återställ lösenord",
+ 'restore_success' => "Ett meddelande har sänts till din epost-adress med instruktioner om hur du återställer ditt lösenord",
+ 'restore_error' => "En användare med användarnamnet ':login' kunde ej hittas",
+ 'reset_success' => "Ditt lösenord har blivit återställt. Du kan nu logga in",
+ 'reset_error' => "Felaktig data för lösenordsåterställning. Var vänlig prova igen",
+ 'reset_fail' => "Det gick tyvärr inte att nollställa ditt lösenord",
+ 'apply' => 'Spara',
+ 'cancel' => 'Avbryt',
+ 'delete' => 'Radera',
+ 'ok' => 'OK',
+ ],
+ 'dashboard' => [
+ 'menu_label' => 'Kontrollpanelen',
+ ],
+ 'user' => [
+ 'name' => 'Administratör',
+ 'menu_label' => 'Administratörer',
+ 'list_title' => 'Hantera administratörer',
+ 'login' => "Logga in",
+ 'first_name' => "Förnamn",
+ 'last_name' => "Efternamn",
+ 'full_name' => "Fullständigt namn",
+ 'email' => "E-post",
+ 'groups' => "Grupper",
+ 'groups_comment' => "Välj vilken grupp denna person hör till",
+ 'avatar' => "Avatar",
+ 'password' => "Lösenord",
+ 'password_confirmation' => "Bekräfta lösenord",
+ 'superuser' => "Superanvändare",
+ 'superuser_comment' => "Markera denna checkbox för att ge denna person tillgång till alla områden",
+ 'send_invite' => 'Inbjudan är sänd via e-post',
+ 'send_invite_comment' => 'Markera denna checkbox för att skicka en inbjudan till användaren via e-post',
+ 'group' => [
+ 'name' => 'Grupp',
+ 'name_field' => 'Namn',
+ 'menu_label' => 'Grupper',
+ 'list_title' => 'Hantera grupper',
+ ],
+ 'preferences' => [
+ 'not_authenticated' => 'Det finns ingen autentiserad användare att ladda eller spara inställningar för',
+ ]
+ ],
+ 'list' => [
+ 'default_title' => 'Lista',
+ 'search_prompt' => 'Sök...',
+ 'no_records' => 'Det finns inga träffar för denna vy',
+ 'missing_model' => 'List-egenskapen i :class har ingen modell definerad',
+ 'missing_column' => 'Det finns inga kolumndefinitioner för :columns',
+ 'missing_columns' => 'Listan som används i :class har inga listkolumner definerade',
+ 'missing_definition' => "Listegenskapen saknar en kolumn för ':field'",
+ 'behavior_not_ready' => 'Listegenskapen har inte blivit initierad, kontrollera att du har anropat makeLists() i din controller',
+ ],
+ 'form' => [
+ 'create_title' => "Ny :name",
+ 'update_title' => "Redigera :name",
+ 'preview_title' => "Förhandsgranska :name",
+ 'create_success' => ':name är nu skapad',
+ 'update_success' => ':name har blivit uppdaterad',
+ 'delete_success' => ':name kunde ej raderas',
+ 'missing_id' => "Record ID för formuläret har ej blivit specificerat",
+ 'missing_model' => 'Formuläregenskapen som används i :class har ingen modell definierad',
+ 'missing_definition' => "Formuläregenskapen saknar ett fält för ':field'",
+ 'not_found' => 'Record ID :id för formuläret kunde ej hittas',
+ 'save' => 'Spara',
+ 'save_and_close' => 'Spara och stäng',
+ 'saving' => 'Sparar...',
+ 'undefined_tab' => 'Övrigt',
+ 'field_off' => 'Av',
+ 'field_on' => 'På',
+ 'apply' => 'Spara',
+ 'cancel' => 'Avbryt',
+ 'close' => 'Stäng',
+ 'delete' => 'Radera',
+ 'ok' => 'OK',
+ 'confirm_tab_close' => 'Vill du verkligen stänga fliken? Ej sparade ändringar kommer gå förlorade',
+ 'behavior_not_ready' => 'Formuläregenskap har ej blivit initierad, kontrollera att du anropat initForm() i din controller',
+ ],
+ 'relation' => [
+ 'missing_definition' => "Relationen saknar en definintion för ':field'",
+ 'missing_model' => "Relationen som används i :class har ingen modell definierad",
+ 'invalid_action_single' => "Den här åtgärden kan inte appliceras på en enskild relation",
+ 'invalid_action_multi' => "Denna åtgärd kan inte appliceras på flera relationer",
+ 'add' => "Lägg till",
+ 'add_name' => "Lägg till :name",
+ 'create' => "Skapa",
+ 'create_name' => "Skapa :name",
+ 'remove' => "Ta bort",
+ 'remove_name' => "Ta bort :name",
+ 'delete' => "Radera",
+ 'delete_name' => "Radera :name",
+ ],
+ 'model' => [
+ 'name' => "Modell",
+ 'not_found' => "Modellen ':class' med ID :id kunde ej hittas",
+ 'missing_id' => "Det finns inget ID anviget för modellen",
+ 'missing_relation' => "Modellen ':class' saknar en definition för ':relation'",
+ 'invalid_class' => "Modellen :model i klass :class är ej giltig. Den måste ärva från \Model-klassen",
+ ],
+];
\ No newline at end of file
diff --git a/modules/cms/lang/sv/lang.php b/modules/cms/lang/sv/lang.php
new file mode 100644
index 000000000..65e54823a
--- /dev/null
+++ b/modules/cms/lang/sv/lang.php
@@ -0,0 +1,132 @@
+ [
+ 'invalid_file' => 'Felaktigt filnamn: :name. Filnamn kan endast innehålla alfanumeriska tecken, understreck, streck och punkter. Några exempel på korrekta filnamn är: sida.htm, sida, undermapp/sida',
+ 'invalid_property' => 'Egenskapen ":name" kunde inte sättas',
+ 'file_already_exists' => 'Filen ":name" finns redan',
+ 'error_saving' => 'Ett fel inträffade när ":name" skulle sparas',
+ 'error_creating_directory' => 'Ett fel inträffade när mappen :name skulle skapas',
+ 'invalid_file_extension'=>'Felaktig filändelse: :invalid. Tillåtna filändelser är: :allowed.',
+ 'error_deleting' => 'Det gick inte att radera mallfilen: ":name".',
+ 'delete_success' => 'Mallarna är nu raderade: :count.',
+ 'file_name_required' => 'Filnamnsfältet är obligatoriskt.'
+ ],
+ 'theme' => [
+ 'active' => [
+ 'not_set' => "Ett aktivt tema är ej satt",
+ ],
+ 'edit' => [
+ 'not_set' => "Redigeringstemat är ej satt",
+ 'not_found' => "Redigeringstemat kunde ej hittas",
+ 'not_match' => "Objketet du försöker komma åt tillhör inte det tema som för håller på att redigeras. Var god ladda om sidan",
+ ]
+ ],
+ 'page' => [
+ 'not_found' => [
+ 'label' => "Sidan kunde ej hittas",
+ 'help' => "Den begärda sidan kunde ej hittas",
+ ],
+ 'custom_error' => [
+ 'label' => "Sidfel",
+ 'help' => "Tyvärr kan inte sidan visas",
+ ],
+ 'menu_label' => 'Sidor',
+ 'no_list_records' => 'Inga sidor funna',
+ 'new' => 'Ny sida',
+ 'invalid_url' => 'Felaktigt URL-format. URLen skall starta med ett / och kan innehålla siffror, bokstäver och följande tecken: _-[]:?|/+*',
+ 'delete_confirm_multiple' => 'Vill du verkligen radera markerade sidor?',
+ 'delete_confirm_single' => 'Vill du verkligen radera denna sida?',
+ 'no_layout' => '-- ingen layout --'
+ ],
+ 'layout' => [
+ 'not_found' => "Layouten ':name' hittades ej",
+ 'menu_label' => 'Layouter',
+ 'no_list_records' => 'Inga layouter funna',
+ 'new' => 'Ny layout',
+ 'delete_confirm_multiple' => 'Vill du verkligen radera valda layouter?',
+ 'delete_confirm_single' => 'Vill du verkligen radera denna layouter?'
+ ],
+ 'partial' => [
+ 'invalid_name' => "Felaktigt partialnamn: :name",
+ 'not_found' => "En partial med namnet ':name' kunde ej hittas",
+ 'menu_label' => 'Partials',
+ 'no_list_records' => 'Inga partials funna',
+ 'delete_confirm_multiple' => 'Vill du verkligen radera markerade partials?',
+ 'delete_confirm_single' => 'Vill du verkligen radera denna partial?',
+ 'new' => 'Ny partial'
+ ],
+ 'content' => [
+ 'not_found' => "Content-filen ':name' kunde ej hittas",
+ 'menu_label' => 'Content',
+ 'no_list_records' => 'Inga content-filer funna',
+ 'delete_confirm_multiple' => 'Vill du verkligen radera markerade filer eller mappar?',
+ 'delete_confirm_single' => 'Vill du verkligen radera denna content-fil?',
+ 'new' => 'Ny content-fil'
+ ],
+ 'ajax_handler' => [
+ 'invalid_name' => "Felaktig AJAX-hanterare: :name",
+ 'not_found' => "AJAX-hanterare ':name' kunde ej hittas",
+ ],
+ 'combiner' => [
+ 'not_found' => "Kombinationsfilen ':name' kunde ej hittas",
+ ],
+ 'cms' => [
+ 'menu_label' => "CMS"
+ ],
+ 'asset' => [
+ 'menu_label' => "Assets",
+ 'drop_down_add_title' => 'Lägg till...',
+ 'drop_down_operation_title' => 'Åtgärd...',
+ 'upload_files' => 'Ladda upp fil(er)',
+ 'create_file' => 'Skapa fil',
+ 'create_directory' => 'Skapa mapp',
+ 'rename' => 'Döp om',
+ 'delete' => 'Radera',
+ 'move' => 'Flytta',
+ 'new' => 'Ny fil',
+ 'rename_popup_title' => 'Byt namn',
+ 'rename_new_name' => 'Nytt namn',
+ 'invalid_path' => 'Sökvägen kan endast innehålla siffror, bokstäver, mellanslag och följande tecken: ._-/',
+ 'error_deleting_file' => 'Kunde inte radera filen :name.',
+ 'error_deleting_dir_not_empty' => 'Ett fel uppstod vid försök att radera :name. Mappen är ej tom',
+ 'error_deleting_dir' => 'Kunde inte radera filen :name.',
+ 'invalid_name' => 'Namn kan endast innehålla siffror, bokstäver, mellanslag och följande tecken: ._-',
+ 'original_not_found' => 'Orginalfilen eller mappen kunde ej hittas',
+ 'already_exists' => 'En fil eller mapp med detta namn finns redan',
+ 'error_renaming' => 'Ett fel uppstod vid namnbyte på filen eller mappen',
+ 'name_cant_be_empty' => 'Namn får ej vara tomt',
+ 'too_large' => 'Den uppladdade filen är för stor. Tillåten filstorlek är :max_size',
+ 'type_not_allowed' => 'Endast följande filtyper är tillåtna: :allowed_types',
+ 'file_not_valid' => 'Filen är inte korrekt',
+ 'error_uploading_file' => 'Ett fel uppstod vid uppladdning av ":name" :error',
+ 'move_please_select' => 'Var god välj',
+ 'move_destination' => 'Destionationsmapp',
+ 'move_popup_title' => 'Flytta assets',
+ 'move_button' => 'Flytta',
+ 'selected_files_not_found' => 'Valda filer kunde ej hittas',
+ 'select_destination_dir' => 'Var god välj en destinationsmapp',
+ 'destination_not_found' => 'Destinationsmappen kunde ej hittas',
+ 'error_moving_file' => 'Ett fel uppstod vid flytt av fil :file',
+ 'error_moving_directory' => 'Ett fel uppstod vid flytt av mapp :dir',
+ 'error_deleting_directory' => 'Ett fel uppstod vid radering av orginalmapp :dir',
+ 'path' => 'Sökväg'
+ ],
+ 'component' => [
+ 'menu_label' => "Komponent",
+ 'unnamed' => "Ej namngiven",
+ 'no_description' => "Ingen beskrivning",
+ 'alias' => "Alias",
+ 'alias_description' => "Ett unikt namn för denna komponent, när den skall användas i sid- eller layoutkod",
+ 'validation_message' => "Komponentalias är obligatoriska och får endast innehålla bokstäver, siffror, och understreck. De måste börja med en bokstav",
+ 'invalid_request' => "Mallen kunde inte sparas pga felaktig komponentdata",
+ 'no_records' => 'Inga komponenter funna',
+ 'not_found' => "Komponenten ':name' kunde ej hittas",
+ 'method_not_found' => "Komponenten ':name' saknar metoden ':method'",
+ ],
+ 'template' => [
+ 'invalid_type' => "Felaktig malltyp",
+ 'not_found' => "Den angivna mallen kunde ej hittas",
+ 'saved'=> "Mallen har sparats"
+ ]
+];
\ No newline at end of file
diff --git a/modules/system/lang/sv/lang.php b/modules/system/lang/sv/lang.php
new file mode 100644
index 000000000..2922d222d
--- /dev/null
+++ b/modules/system/lang/sv/lang.php
@@ -0,0 +1,96 @@
+ [
+ 'name' => 'October CMS',
+ 'motto' => 'Getting back to basics',
+ ],
+ 'directory' => [
+ 'create_fail' => "Kunde inte skapa mapp: :name",
+ ],
+ 'file' => [
+ 'create_fail' => "Kunde inte skapa fil: :name",
+ ],
+ 'system' => [
+ 'name' => 'System',
+ 'menu_label' => 'System',
+ ],
+ 'plugin' => [
+ 'unnamed' => 'Namnlöst plugin',
+ 'name' => [
+ 'label' => 'Plugin-namn',
+ 'help' => 'Namnge pluginet efter dess unika kod. Exempelvis RainLab.Blog',
+ ],
+ ],
+ 'project' => [
+ 'name' => 'Projekt',
+ 'owner_label' => 'Ägare',
+ 'id' => [
+ 'label' => 'Projekt-ID',
+ 'help' => 'Hur du hittar ditt Projekt-ID',
+ 'missing' => 'Var god välj ett Projekt-ID',
+ ],
+ 'unbind_success' => 'Projektet har blivit avlänkat',
+ ],
+ 'settings' => [
+ 'menu_label' => 'Inställningar',
+ 'missing_model' => 'Inställningssidan saknar en modell-definition',
+ 'update_success' => 'Inställningar för :name har uppdaterats',
+ ],
+ 'install' => [
+ 'project_label' => 'Länka till Projekt',
+ 'plugin_label' => 'Installera Plugin',
+ 'missing_plugin_name' => 'Välj ett plugin-namn att installera',
+ 'install_completing' => 'Installationen är klar',
+ 'install_success' => 'Pluginet har installerats',
+ ],
+ 'updates' => [
+ 'name' => 'Uppdatera mjukvara',
+ 'menu_label' => 'Uppdateringar',
+ 'check_label' => 'Kontrollera uppdateringar',
+ 'retry_label' => 'Försök igen',
+ 'core_build' => 'Nuvarande build',
+ 'core_build_old' => 'Nuvarande build :build',
+ 'core_build_new' => 'Build :build',
+ 'core_build_new_help' => 'Senaste build är tillgänglig.',
+ 'core_downloading' => 'Laddar ner applikationsfiler',
+ 'core_extracting' => 'Packar upp applikationsfiler',
+ 'plugin_downloading' => 'Laddar ner plugin: :name',
+ 'plugin_extracting' => 'Packar upp plugin: :name',
+ 'plugin_version_none' => 'Nytt plugin',
+ 'plugin_version_old' => 'Nuvarande v:version',
+ 'plugin_version_new' => 'v:version',
+ 'update_label' => 'Updatera mjukvara',
+ 'update_completing' => 'Slutför uppdatering',
+ 'update_loading' => 'Laddar tillgängliga uppdateringar...',
+ 'update_success' => 'Uppdateringen är slutförd.',
+ 'update_failed_label' => 'Updateringen misslyckades',
+ 'force_label' => 'Tvinga uppdatering',
+ 'found' => [
+ 'label' => 'Hittade nya uppdateringar!',
+ 'help' => 'Klicka på Uppdatera mjukvara för att påbörja uppdateringen.',
+ ],
+ 'none' => [
+ 'label' => 'Inga uppdateringar',
+ 'help' => 'Inga nya uppdateringar hittades.',
+ ],
+ ],
+ 'server' => [
+ 'connect_error' => 'Ett fel uppstod vid anslutning till servern.',
+ 'response_not_found' => 'Uppdateringsserver kunde ej hittas.',
+ 'response_invalid' => 'Felaktigt svar från servern.',
+ 'response_empty' => 'Tomt svar från servern.',
+ 'file_error' => 'Servern kunde inte leverera paketet.',
+ 'file_corrupt' => 'Filen från servern är korrupt.',
+ ],
+ 'behavior' => [
+ 'missing_property' => 'Klassen :class måste definera egenskapen $:property som används av :behavior -egenskapen',
+ ],
+ 'config' => [
+ 'not_found' => 'Kunde inte hitta konfigurationsfilen :file definerad för :location',
+ 'required' => 'Konfigurationen som används i :location måste sända med ett värde :property',
+ ],
+ 'zip' => [
+ 'extract_failed' => "Kunde inte packa upp core-fil ':file'.",
+ ],
+];
\ No newline at end of file
diff --git a/modules/system/lang/sv/validation.php b/modules/system/lang/sv/validation.php
new file mode 100644
index 000000000..66a7d4459
--- /dev/null
+++ b/modules/system/lang/sv/validation.php
@@ -0,0 +1,98 @@
+ ":attribute måste accepteras.",
+ "active_url" => ":attribute är ej en korrekt URL.",
+ "after" => ":attribute måste vara ett datum efter :date.",
+ "alpha" => ":attribute får endast innehålla bokstäver.",
+ "alpha_dash" => ":attribute får endast innehålla bokstäver, nummer och streck.",
+ "alpha_num" => ":attribute får endast innehålla bokstäver och nummer",
+ "array" => ":attribute måste vara en array.",
+ "before" => ":attribute måste vara ett datum innan :date.",
+ "between" => array(
+ "numeric" => ":attribute måste vara mellan :min - :max.",
+ "file" => ":attribute måste vara mellan :min - :max kilobytes.",
+ "string" => ":attribute måste vara mellan :min - :max tecken.",
+ "array" => ":attribute måste ha mellan :min - :max objekt.",
+ ),
+ "confirmed" => ":attribute bekräftelse matchar ej.",
+ "date" => ":attribute är inte ett korrekt datum.",
+ "date_format" => ":attribute matchar inte formatet :format.",
+ "different" => ":attribute och :other måste skilja sig åt.",
+ "digits" => ":attribute måste vara :digits siffror.",
+ "digits_between" => ":attribute måste vara between :min and :max siffror.",
+ "email" => ":attribute format är felaktigt.",
+ "exists" => "Valt :attribute är felaktigt.",
+ "image" => ":attribute måste vara en bild.",
+ "in" => "Valt :attribute är felaktigt.",
+ "integer" => ":attribute måste vara en siffra.",
+ "ip" => ":attribute måste vara en giltig epost-adress.",
+ "max" => array(
+ "numeric" => ":attribute får inte vara större än :max.",
+ "file" => ":attribute får inte vara större än :max kilobytes.",
+ "string" => ":attribute får inte vara större än :max tecken.",
+ "array" => ":attribute får inte innehålla mer än :max objekt.",
+ ),
+ "mimes" => ":attribute måste vara en fil av typen: :values.",
+ "min" => array(
+ "numeric" => ":attribute måste vara minst :min.",
+ "file" => ":attribute måste vara minst :min kilobytes.",
+ "string" => ":attribute måste vara minst :min tecken.",
+ "array" => ":attribute måste ha minst :min objekt.",
+ ),
+ "not_in" => "Valt :attribute är felaktigt.",
+ "numeric" => ":attribute måste vara ett number.",
+ "regex" => ":attribute format är felaktigt.",
+ "required" => ":attribute field är obligatoriskt.",
+ "required_if" => ":attribute field är obligatoriskt när :other is :value.",
+ "required_with" => ":attribute field är obligatoriskt när :values är satt.",
+ "required_without" => ":attribute field är obligatoriskt när :values ej är satt.",
+ "same" => ":attribute and :other måste matcha.",
+ "size" => array(
+ "numeric" => ":attribute måste vara :size.",
+ "file" => ":attribute måste vara :size kilobytes.",
+ "string" => ":attribute måste vara :size tecken.",
+ "array" => ":attribute måste innehålla :size objekt.",
+ ),
+ "unique" => ":attribute är redan upptaget.",
+ "url" => "Formatet :attribute är felaktigt.",
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => array(),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => array(),
+
+);
From 2883fa6b6a98ee3e57ba3cb3f9fe1a19a554f3ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pa=CC=88r=20Karlsson?=
Date: Thu, 15 May 2014 15:18:07 +0200
Subject: [PATCH 08/24] Fixed typo in english language file
---
modules/cms/lang/en/lang.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/cms/lang/en/lang.php b/modules/cms/lang/en/lang.php
index 4f5a0ffc4..7f61525e1 100644
--- a/modules/cms/lang/en/lang.php
+++ b/modules/cms/lang/en/lang.php
@@ -5,7 +5,7 @@ return [
'invalid_file' => 'Invalid file name: :name. File names can contain only alphanumeric symbols, underscores, dashes and dots. Some examples of correct file names: page.htm, page, subdirectory/page',
'invalid_property' => 'The property ":name" cannot be set',
'file_already_exists' => 'File ":name" already exists.',
- 'error_saving' => 'Eror saving file ":name".',
+ 'error_saving' => 'Error saving file ":name".',
'error_creating_directory' => 'Error creating directory :name',
'invalid_file_extension'=>'Invalid file extension: :invalid. Allowed extensions are: :allowed.',
'error_deleting' => 'Error deleting the template file ":name".',
From ef2ea600611fcc33436b6a518a151fe4afbc22c0 Mon Sep 17 00:00:00 2001
From: alxy
Date: Thu, 15 May 2014 15:48:14 +0200
Subject: [PATCH 09/24] Add $attributes param to asset function
This commit adds a second parameter $attributes to the following functions:
- AssetMaker::addJs
- AssetMaker::addCss
- AssetMaker::addRss
This is useful when dealing with javascript libraries like require.js, which depend on these HTML attributes to function properly.
It does not break the existing code!
---
modules/system/traits/AssetMaker.php | 66 ++++++++++++++++++++++------
1 file changed, 52 insertions(+), 14 deletions(-)
diff --git a/modules/system/traits/AssetMaker.php b/modules/system/traits/AssetMaker.php
index b21012c60..b05b3cd4e 100644
--- a/modules/system/traits/AssetMaker.php
+++ b/modules/system/traits/AssetMaker.php
@@ -2,6 +2,7 @@
use File;
use Request;
+use HTML;
use System\Classes\SystemException;
/**
@@ -36,18 +37,43 @@ trait AssetMaker
$result = null;
if ($type == null || $type == 'css'){
- foreach ($this->assets['css'] as $file)
- $result .= ' ' . PHP_EOL;
+ foreach ($this->assets['css'] as $asset) {
+ $attributes = HTML::attributes(array_merge(
+ [
+ 'rel' => 'stylesheet',
+ 'href' => $asset['path']
+ ],
+ $asset['attributes'])
+ );
+ $result .= ' ' . PHP_EOL;
+ }
}
if ($type == null || $type == 'rss'){
- foreach ($this->assets['rss'] as $file)
- $result .= ' ' . PHP_EOL;
+ foreach ($this->assets['rss'] as $asset) {
+ $attributes = HTML::attributes(array_merge(
+ [
+ 'rel' => 'alternate',
+ 'href' => $asset['path'],
+ 'title' => 'RSS',
+ 'type' => 'application/rss+xml'
+ ],
+ $asset['attributes'])
+ );
+ $result .= ' ' . PHP_EOL;
+ }
}
if ($type == null || $type == 'js') {
- foreach ($this->assets['js'] as $file)
- $result .= '' . PHP_EOL;
+ foreach ($this->assets['js'] as $asset) {
+ $attributes = HTML::attributes(array_merge(
+ [
+ 'src' => $asset['path']
+ ],
+ $asset['attributes'])
+ );
+ $result .= '' . PHP_EOL;
+ }
}
return $result;
@@ -57,29 +83,34 @@ trait AssetMaker
* Adds JavaScript asset to the asset list. Call $this->makeAssets() in a view
* to output corresponding markup.
* @param string $name Specifies a path (URL) to the script.
+ * @param array $attributes Adds HTML attributes to the asset link.
* @return void
*/
- public function addJs($name)
+ public function addJs($name, $attributes = [])
{
$jsPath = $this->getAssetPath($name);
if (isset($this->controller))
- $this->controller->addJs($jsPath);
+ $this->controller->addJs($jsPath, $attributes);
if (substr($jsPath, 0, 1) == '/')
$jsPath = Request::getBaseUrl() . $jsPath;
if (!in_array($jsPath, $this->assets['js']))
- $this->assets['js'][] = $jsPath;
+ $this->assets['js'][] = [
+ 'path' => $jsPath,
+ 'attributes' => $attributes
+ ];
}
/**
* Adds StyleSheet asset to the asset list. Call $this->makeAssets() in a view
* to output corresponding markup.
* @param string $name Specifies a path (URL) to the script.
+ * @param array $attributes Adds HTML attributes to the asset link.
* @return void
*/
- public function addCss($name)
+ public function addCss($name, $attributes = [])
{
$cssPath = $this->getAssetPath($name);
@@ -90,16 +121,20 @@ trait AssetMaker
$cssPath = Request::getBaseUrl() . $cssPath;
if (!in_array($cssPath, $this->assets['css']))
- $this->assets['css'][] = $cssPath;
+ $this->assets['css'][] = [
+ 'path' => $cssPath,
+ 'attributes' => $attributes
+ ];
}
/**
* Adds an RSS link asset to the asset list. Call $this->makeAssets() in a view
* to output corresponding markup.
* @param string $name Specifies a path (URL) to the RSS channel
+ * @param array $attributes Adds HTML attributes to the asset link.
* @return void
*/
- public function addRss($name)
+ public function addRss($name, $attributes = [])
{
$rssPath = $this->getAssetPath($name);
@@ -110,7 +145,10 @@ trait AssetMaker
$rssPath = Request::getBaseUrl() . $rssPath;
if (!in_array($rssPath, $this->assets['rss']))
- $this->assets['rss'][] = $rssPath;
+ $this->assets['rss'][] = [
+ 'path' => $rssPath,
+ 'attributes' => $attributes
+ ];
}
/**
@@ -150,4 +188,4 @@ trait AssetMaker
return count($this->assets, COUNT_RECURSIVE) > 3;
}
-}
\ No newline at end of file
+}
From dc2b23fcee6b0db29ca9bbaacc570780052e06a6 Mon Sep 17 00:00:00 2001
From: leranus
Date: Thu, 15 May 2014 17:03:11 +0200
Subject: [PATCH 10/24] Update README.md
Adjust Laravel link so it works
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 5caab8032..6b56fb062 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ Please follow the following guides and code standards:
### Foundation library
-The CMS uses [Laravel](http://four.laravel.com) as a foundation PHP framework.
+The CMS uses [Laravel](http://laravel.com) as a foundation PHP framework.
### Contact
From 23d98e5caf129b6d8e1ee1bc19adff9ead82c8d1 Mon Sep 17 00:00:00 2001
From: mhe
Date: Thu, 15 May 2014 17:27:47 +0200
Subject: [PATCH 11/24] Added German language files
---
modules/backend/lang/de/lang.php | 128 +++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
create mode 100644 modules/backend/lang/de/lang.php
diff --git a/modules/backend/lang/de/lang.php b/modules/backend/lang/de/lang.php
new file mode 100644
index 000000000..e6cb11bd8
--- /dev/null
+++ b/modules/backend/lang/de/lang.php
@@ -0,0 +1,128 @@
+ [
+ 'invalid_type' => 'Ungültiger Feldtyp :type.',
+ 'options_method_not_exists' => 'Die Model-Klasse :model muss eine Methode :method() mit Rückgabe der Werte von ":field" besitzen.',
+ ],
+ 'widget' => [
+ 'not_registered' => "Ein Widget namens ':name' wurde nicht registriert",
+ 'not_bound' => "Ein Widget mit dem Klassennamen ':name' wurde nicht mit dem Controller verbunden",
+ ],
+ 'page' => [
+ 'untitled' => "Unbenannt",
+ ],
+ 'partial' => [
+ 'not_found' => "Das Partial ':name' wurde nicht gefunden.",
+ ],
+ 'account' => [
+ 'sign_out' => 'Abmelden',
+ 'login' => 'Anmelden',
+ 'reset' => 'Zurücksetzen',
+ 'restore' => 'Wiederherstellen',
+ 'login_placeholder' => 'Benutzername',
+ 'password_placeholder' => 'Passwort',
+ 'forgot_password' => "Passwort vergessen?",
+ 'enter_email' => "Bitte E-Mail-Adresse eingeben",
+ 'enter_login' => "Bitte Benutzernamen eingeben",
+ 'email_placeholder' => "E-Mail",
+ 'enter_new_password' => "Bitte ein neues Passwort eingeben",
+ 'password_reset' => "Passwort zurücksetzen",
+ 'restore_success' => "Eine E-Mail mit weiteren Anweisungen zum Zurücksetzen Ihres Passworts wurde an Sie versandt",
+ 'restore_error' => "Ein Benutzer mit dem Namen ':login' wurde nicht gefunden",
+ 'reset_success' => "Ihr Passwort wurde erfolgreich zurückgesetzt. Sie können sich jetzt anmelden.",
+ 'reset_error' => "Konnte Passwort nicht zurücksetzen. Bitte erneut versuchen!",
+ 'reset_fail' => "Passwort-Zurücksetzung nicht möglich!",
+ 'apply' => 'Anwenden',
+ 'cancel' => 'Abbrechen',
+ 'delete' => 'Löschen',
+ 'ok' => 'OK',
+ ],
+ 'dashboard' => [
+ 'menu_label' => 'Dashboard',
+ ],
+ 'user' => [
+ 'name' => 'Administrator',
+ 'menu_label' => 'Administratoren',
+ 'list_title' => 'Administratoren verwalten',
+ 'login' => "Anmelden",
+ 'first_name' => "Vorname",
+ 'last_name' => "Nachname",
+ 'full_name' => "Kompletter Name",
+ 'email' => "E-Mail",
+ 'groups' => "Gruppen",
+ 'groups_comment' => "Geben Sie hier die Gruppenzugehörigkeit an",
+ 'avatar' => "Avatar",
+ 'password' => "Passwort",
+ 'password_confirmation' => "Passwort bestätigen",
+ 'superuser' => "Super User",
+ 'superuser_comment' => "Bestätigen Sie hier, um dem Nutzer Vollzugriff zu geben",
+ 'send_invite' => 'Einladung per E-Mail versenden',
+ 'send_invite_comment' => 'Hier bestätigen, dass eine Einladung per E-Mail erfolgt',
+ 'group' => [
+ 'name' => 'Gruppe',
+ 'name_field' => 'Name',
+ 'menu_label' => 'Gruppen',
+ 'list_title' => 'Gruppen verwalten',
+ ],
+ 'preferences' => [
+ 'not_authenticated' => 'Zum Speichern oder Anzeigen dieser Einstellungen liegt kein Nutzerkonto vor'
+ ]
+ ],
+ 'list' => [
+ 'default_title' => 'Auflisten',
+ 'search_prompt' => 'Suchen...',
+ 'no_records' => 'Keine Ergebnisse für diese Ansicht gefunden',
+ 'missing_model' => 'In :class benutztes Lisstenverhalten hat kein Model definiert.',
+ 'missing_column' => 'Keine Spaltendefinition für :columns.',
+ 'missing_columns' => 'In :class benutzte Liste behinhaltet keine Spalten',
+ 'missing_definition' => "Der Liste fehlt eine Spalte für ':field'.",
+ 'behavior_not_ready' => 'Listenverhalten kann nicht initialisiert werden, überprüfen Sie den Aufruf von makeLists() in Ihrem Controller.',
+ ],
+ 'form' => [
+ 'create_title' => "Neuer :name",
+ 'update_title' => "Bearbeite :name",
+ 'preview_title' => "Vorschau für :name",
+ 'create_success' => ':name wurde erfolgreich erzeugt',
+ 'update_success' => ':name wurde erfolgreich aktualisiert',
+ 'delete_success' => ':name wurde erfolgreich gelöscht',
+ 'missing_id' => "Formulardatensatz-ID (Form record ID) fehlt.",
+ 'missing_model' => 'In :class genutztes Formularverhalten (behaviour) hat kein definiertes Model',
+ 'missing_definition' => "Formverhalten fehlt ein Feld für ':field'.",
+ 'not_found' => 'Formulareintrag mit der ID :id kann nicht gefunden werden.',
+ 'save' => 'Speichern',
+ 'save_and_close' => 'Speichern und schließen',
+ 'saving' => 'Wird gespeichert...',
+ 'undefined_tab' => 'Divers',
+ 'field_off' => 'Aus',
+ 'field_on' => 'An',
+ 'apply' => 'Anwenden',
+ 'cancel' => 'Abbrechen',
+ 'close' => 'Schließen',
+ 'delete' => 'Löschen',
+ 'ok' => 'OK',
+ 'confirm_tab_close' => 'Wollen Sie den Tab wirklich schließen? Ungespeicherte Änderungen gehen verloren.',
+ 'behavior_not_ready' => 'Formularverhalten kann nicht initialisiert werden, überprüfen Sie den Aufruf von makeLists() in Ihrem Controller.',
+ ],
+ 'relation' => [
+ 'missing_definition' => "Verhalten (behaviour) der Verbindung umfasst keine Definition für ':field'.",
+ 'missing_model' => "Verhalten (behaviour) der Verbindung, die in :class benutzt wird, hat kein definiertes Model",
+ 'invalid_action_single' => "Dieser Vorgang kann nicht auf eine Einwege-Verbindung (singular) angewendet werden.",
+ 'invalid_action_multi' => "Dieser Vorgang kann nicht auf eine Mehrwege-Verbindung (multiple) angewendet werden.",
+ 'add' => "Hinzufügen",
+ 'add_name' => ":name hinzufügen",
+ 'create' => "Erstellen",
+ 'create_name' => "Erstelle :name",
+ 'remove' => "Entfernen",
+ 'remove_name' => ":name entfernen",
+ 'delete' => "Löschen",
+ 'delete_name' => ":name löschen",
+ ],
+ 'model' => [
+ 'name' => "Model",
+ 'not_found' => "Model ':class' mit ID :id konnte nicht gefunden werden",
+ 'missing_id' => "Für diesen Model-Datensatz ist keine ID angegeben",
+ 'missing_relation' => "Model ':class' hat keine definierte Verbindung ':relation'.",
+ 'invalid_class' => "In :class benutztes Model :model ist ungültig, da es von der Klasse \Model abgeleitet sein muss (inherit).",
+ ],
+];
\ No newline at end of file
From ce2db60a8aa5939e468aa1dd9ae89e5510a0fb51 Mon Sep 17 00:00:00 2001
From: Joseph Cohen
Date: Thu, 15 May 2014 12:21:16 -0400
Subject: [PATCH 12/24] Change demo page routes to /demo/{page}
---
themes/demo/pages/ajax.htm | 4 ++--
themes/demo/pages/plugins.htm | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/themes/demo/pages/ajax.htm b/themes/demo/pages/ajax.htm
index f63e3cc7b..620af4daf 100644
--- a/themes/demo/pages/ajax.htm
+++ b/themes/demo/pages/ajax.htm
@@ -1,5 +1,5 @@
title = "AJAX framework"
-url = "/ajax"
+url = "/demo/ajax"
layout = "default"
==
-{% partial "explain/ajax.htm" %}
\ No newline at end of file
+{% partial "explain/ajax.htm" %}
diff --git a/themes/demo/pages/plugins.htm b/themes/demo/pages/plugins.htm
index 73cae0d2a..ac6b8465b 100644
--- a/themes/demo/pages/plugins.htm
+++ b/themes/demo/pages/plugins.htm
@@ -1,5 +1,5 @@
title = "Plugin components"
-url = "/plugins"
+url = "/demo/plugins"
layout = "default"
[demoTodo]
From 2e649d6b5fd3757a35a78ab6d386ace3e2db20a0 Mon Sep 17 00:00:00 2001
From: Jasper
Date: Thu, 15 May 2014 19:36:04 +0200
Subject: [PATCH 13/24] Moved hard-coded text to language file (backend)
Hard-coded text from the backend (user- and group management) moved to
the language file (English and Dutch).
---
.../controllers/groups/_list_toolbar.htm | 2 +-
modules/backend/controllers/groups/create.htm | 14 +++++++-------
modules/backend/controllers/groups/index.htm | 6 +++---
modules/backend/controllers/groups/update.htm | 18 +++++++++---------
.../controllers/users/_list_toolbar.htm | 4 ++--
modules/backend/controllers/users/create.htm | 14 +++++++-------
.../backend/controllers/users/mysettings.htm | 12 ++++++------
modules/backend/controllers/users/update.htm | 18 +++++++++---------
modules/backend/lang/en/lang.php | 14 ++++++++++++++
modules/backend/lang/nl/lang.php | 16 +++++++++++++++-
10 files changed, 73 insertions(+), 45 deletions(-)
diff --git a/modules/backend/controllers/groups/_list_toolbar.htm b/modules/backend/controllers/groups/_list_toolbar.htm
index adf5fa8e7..5a25508df 100644
--- a/modules/backend/controllers/groups/_list_toolbar.htm
+++ b/modules/backend/controllers/groups/_list_toolbar.htm
@@ -1,3 +1,3 @@
diff --git a/modules/backend/controllers/groups/create.htm b/modules/backend/controllers/groups/create.htm
index 96b5a6141..11515d3bc 100644
--- a/modules/backend/controllers/groups/create.htm
+++ b/modules/backend/controllers/groups/create.htm
@@ -1,7 +1,7 @@
@@ -19,9 +19,9 @@
data-request="onSave"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="Creating Group..."
+ data-load-indicator="= e(trans('backend::lang.user.group.creating')) ?>"
class="btn btn-primary">
- Create
+ = e(trans('backend::lang.form.create')) ?>
- Create and Close
+ = e(trans('backend::lang.form.create_and_close')) ?>
@@ -40,5 +40,5 @@
= e($this->fatalError) ?>
- Return to the group list
+ = e(trans('backend::lang.user.group.return')) ?>
\ No newline at end of file
diff --git a/modules/backend/controllers/groups/index.htm b/modules/backend/controllers/groups/index.htm
index 04b0f32ae..c3dccaf27 100644
--- a/modules/backend/controllers/groups/index.htm
+++ b/modules/backend/controllers/groups/index.htm
@@ -1,8 +1,8 @@
-
+
= $this->listRender() ?>
diff --git a/modules/backend/controllers/groups/update.htm b/modules/backend/controllers/groups/update.htm
index 63126567d..fc1b99ed2 100644
--- a/modules/backend/controllers/groups/update.htm
+++ b/modules/backend/controllers/groups/update.htm
@@ -1,7 +1,7 @@
@@ -20,9 +20,9 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="Saving Group..."
+ data-load-indicator="= e(trans('backend::lang.user.group.saving')) ?>"
class="btn btn-primary">
- S ave
+ = e(trans('backend::lang.form.save')) ?>
- Save and Close
+ = e(trans('backend::lang.form.save_and_close')) ?>
- Delete
+ = e(trans('backend::lang.form.delete')) ?>
@@ -49,5 +49,5 @@
= e($this->fatalError) ?>
- Return to the group list
+ = e(trans('backend::lang.user.group.return')) ?>
\ No newline at end of file
diff --git a/modules/backend/controllers/users/_list_toolbar.htm b/modules/backend/controllers/users/_list_toolbar.htm
index ab2166728..3563ce7ed 100644
--- a/modules/backend/controllers/users/_list_toolbar.htm
+++ b/modules/backend/controllers/users/_list_toolbar.htm
@@ -1,6 +1,6 @@
@@ -57,6 +57,6 @@
= Block::placeholder('breadcrumb') ?>
= e($this->fatalError) ?>
- Return to the administrator list
+ = e(trans('backend::lang.user.return')) ?>
\ No newline at end of file
diff --git a/modules/backend/controllers/users/mysettings.htm b/modules/backend/controllers/users/mysettings.htm
index 15d42c366..e303b1f5f 100644
--- a/modules/backend/controllers/users/mysettings.htm
+++ b/modules/backend/controllers/users/mysettings.htm
@@ -1,6 +1,6 @@
@@ -20,9 +20,9 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="Saving Admin..."
+ data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
class="btn btn-primary">
- S ave
+ = e(trans('backend::lang.form.save')) ?>
- Save and Close
+ = e(trans('backend::lang.form.save_and_close')) ?>
@@ -54,6 +54,6 @@
= Block::placeholder('breadcrumb') ?>
= e($this->fatalError) ?>
- Return to the administrator list
+ = e(trans('backend::lang.user.return')) ?>
\ No newline at end of file
diff --git a/modules/backend/controllers/users/update.htm b/modules/backend/controllers/users/update.htm
index 5d082b9f0..41f053dbd 100644
--- a/modules/backend/controllers/users/update.htm
+++ b/modules/backend/controllers/users/update.htm
@@ -1,6 +1,6 @@
@@ -20,9 +20,9 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="Saving Admin..."
+ data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
class="btn btn-primary">
- S ave
+ = e(trans('backend::lang.form.save')) ?>
- Save and Close
+ = e(trans('backend::lang.form.save_and_close')) ?>
- or Cancel
+ = e(trans('backend::lang.form.or')) ?> = e(trans('backend::lang.form.cancel')) ?>
+ data-load-indicator="= e(trans('backend::lang.user.deleting')) ?>"
+ data-request-confirm="= e(trans('backend::lang.user.delete_confirm')) ?>">
@@ -65,6 +65,6 @@
= Block::placeholder('breadcrumb') ?>
= e($this->fatalError) ?>
- Return to the administrator list
+ = e(trans('backend::lang.user.return')) ?>
\ No newline at end of file
diff --git a/modules/backend/lang/en/lang.php b/modules/backend/lang/en/lang.php
index 7f1fef0ef..06ad0d334 100644
--- a/modules/backend/lang/en/lang.php
+++ b/modules/backend/lang/en/lang.php
@@ -45,6 +45,7 @@ return [
'name' => 'Administrator',
'menu_label' => 'Administrators',
'list_title' => 'Manage Administrators',
+ 'new' => 'New Administrator',
'login' => "Login",
'first_name' => "First Name",
'last_name' => "Last Name",
@@ -59,11 +60,21 @@ return [
'superuser_comment' => "Check this box to allow this person to access all areas.",
'send_invite' => 'Send invitation by email',
'send_invite_comment' => 'Use this checkbox to send an invitation to the user by email',
+ 'creating' => 'Creating Administrator...',
+ 'saving' => 'Saving Administrator...',
+ 'deleting' => 'Deleting Administrator...',
+ 'delete_confirm' => 'Do you really want to delete this administrator?',
+ 'return' => 'Return to the administrator list',
'group' => [
'name' => 'Group',
'name_field' => 'Name',
'menu_label' => 'Groups',
'list_title' => 'Manage Groups',
+ 'new' => 'New Administrator Group',
+ 'creating' => 'Creating Group...',
+ 'saving' => 'Saving Group...',
+ 'deleting' => 'Deleting Group...',
+ 'return' => 'Return to the group list',
],
'preferences' => [
'not_authenticated' => 'There is no an authenticated user to load or save preferences for.'
@@ -90,6 +101,8 @@ return [
'missing_model' => 'Form behavior used in :class does not have a model defined.',
'missing_definition' => "Form behavior does not contain a field for ':field'.",
'not_found' => 'Form record with an ID of :id could not be found.',
+ 'create' => 'Create',
+ 'create_and_close' => 'Create and close',
'save' => 'Save',
'save_and_close' => 'Save and close',
'saving' => 'Saving...',
@@ -101,6 +114,7 @@ return [
'close' => 'Close',
'delete' => 'Delete',
'ok' => 'OK',
+ 'or' => 'or',
'confirm_tab_close' => 'Do you really want to close the tab? Unsaved changes will be lost.',
'behavior_not_ready' => 'Form behavior has not been initialized, check that you have called initForm() in your controller.',
],
diff --git a/modules/backend/lang/nl/lang.php b/modules/backend/lang/nl/lang.php
index 5ef91b7ef..54e35f9e8 100644
--- a/modules/backend/lang/nl/lang.php
+++ b/modules/backend/lang/nl/lang.php
@@ -44,7 +44,8 @@ return [
'user' => [
'name' => 'Beheerder',
'menu_label' => 'Beheerders',
- 'list_title' => 'Beheerders beheren',
+ 'list_title' => 'Beheer Beheerders',
+ 'new' => 'Nieuwe Beheerder',
'login' => "Gebruikersnaam",
'first_name' => "Voornaam",
'last_name' => "Achternaam",
@@ -59,11 +60,21 @@ return [
'superuser_comment' => "Vink deze optie aan om de gebruiker volledige rechten tot het systeem te geven.",
'send_invite' => 'Stuur uitnodiging per e-mail',
'send_invite_comment' => 'Vink deze optie aan om de gebruiker een uitnodiging per e-mail te sturen',
+ 'creating' => 'Administrator aanmaken...',
+ 'saving' => 'Administrator opslaan...',
+ 'deleting' => 'Groep verwijderen...',
+ 'delete_confirm' => 'Weet je zeker dat je deze beheerder wilt verwijderen?',
+ 'return' => 'Terug naar beheerdersoverzicht',
'group' => [
'name' => 'Groep',
'name_field' => 'Naam',
'menu_label' => 'Groepen',
'list_title' => 'Beheer Groepen',
+ 'new' => 'Nieuwe Beheerdersgroep',
+ 'creating' => 'Groep aanmaken...',
+ 'saving' => 'Groep opslaan...',
+ 'deleting' => 'Groep verwijderen...',
+ 'return' => 'Terug naar groepenoverzicht',
],
'preferences' => [
'not_authenticated' => 'Er is geen geauthenticeerde gebruiker om gegevens voor te laden of op te slaan.'
@@ -90,6 +101,8 @@ return [
'missing_model' => 'Geen model opgegeven voor het gedrag (behavior) van het formulier gebruikt in :class.',
'missing_definition' => "Het gedrag (behavior) van het formulier bevat geen kolom voor ':field'.",
'not_found' => 'Het formulier met record ID :id is niet gevonden.',
+ 'create' => 'Maken',
+ 'create_and_close' => 'Maken en sluiten',
'save' => 'Opslaan',
'save_and_close' => 'Opslaan en sluiten',
'saving' => 'Opslaan...',
@@ -101,6 +114,7 @@ return [
'close' => 'Sluiten',
'delete' => 'Verwijderen',
'ok' => 'OK',
+ 'or' => 'of',
'confirm_tab_close' => 'Weet je zeker dat je dit tabblad wilt sluiten? Niet opgeslagen wijzigingen gaan verloren.',
'behavior_not_ready' => 'Gedrag (behavior) van het formulier is niet geladen. Controleer of initForm() in de controller is aangeroepen.',
],
From 80d41c4e4d123c9ff58bbadb1132cfc75e71fa14 Mon Sep 17 00:00:00 2001
From: mhe
Date: Thu, 15 May 2014 20:25:55 +0200
Subject: [PATCH 14/24] Add further translation files
---
modules/cms/lang/de/lang.php | 132 ++++++++++++++++++++++++++
modules/system/lang/de/lang.php | 96 +++++++++++++++++++
modules/system/lang/de/validation.php | 98 +++++++++++++++++++
3 files changed, 326 insertions(+)
create mode 100644 modules/cms/lang/de/lang.php
create mode 100644 modules/system/lang/de/lang.php
create mode 100644 modules/system/lang/de/validation.php
diff --git a/modules/cms/lang/de/lang.php b/modules/cms/lang/de/lang.php
new file mode 100644
index 000000000..c822372dd
--- /dev/null
+++ b/modules/cms/lang/de/lang.php
@@ -0,0 +1,132 @@
+ [
+ 'invalid_file' => 'Ungültiger Dateiname: :name. Diese dürfen nur alphanumerische Symbole, Unter- und Bindestriche sowie Punkte enthalten. Beispiele: page.htm, page, subdirectory/page',
+ 'invalid_property' => 'Die Eigenschaft ":name" kann nicht angewendet werden',
+ 'file_already_exists' => 'Datei ":name" existiert bereits.',
+ 'error_saving' => 'Fehler beim Speichern von ":name".',
+ 'error_creating_directory' => 'Fehler beim Erstellen von Verzeichnis mit Namen :name',
+ 'invalid_file_extension'=>'Ungültige Dateiendung: :invalid. Erlaubt sind: :allowed.',
+ 'error_deleting' => 'Fehler beim Löschen der Template-Datei ":name".',
+ 'delete_success' => 'Templates wurden erfolgreich gelöscht: :count.',
+ 'file_name_required' => 'Ein Dateiname ist erforderlich.'
+ ],
+ 'theme' => [
+ 'active' => [
+ 'not_set' => "Aktives Theme nicht definiert",
+ ],
+ 'edit' => [
+ 'not_set' => "Edit Theme nicht definiert",
+ 'not_found' => "Edit Theme nicht gefunden.",
+ 'not_match' => "Das Objekt, das sie anzupassen versuchen gehört nicht zum Theme in Bearbeitung. Bitte laden Sie die Seite erneut."
+ ]
+ ],
+ 'page' => [
+ 'not_found' => [
+ 'label' => "Seite nicht gefunden",
+ 'help' => "Die angeforderte Seite kann nicht gefunden werden.",
+ ],
+ 'custom_error' => [
+ 'label' => "Seitenfehler",
+ 'help' => "Entschuldigung, ein Fehler trat auf, sodass die gewünschte Seite nicht angezeigt werden kann.",
+ ],
+ 'menu_label' => 'Seiten',
+ 'no_list_records' => 'Keine Seiten gefunden',
+ 'new' => 'Neue Seite',
+ 'invalid_url' => 'Ungültiges URL-Format. Die URL muss mit einem Slash beginnen und darf nur Ziffern, lateinische Zeichen und die folgenden Symbole beinhalten: _-[]:?|/+*',
+ 'delete_confirm_multiple' => 'Wollen Sie die ausgewählten Seiten wirklich löschen?',
+ 'delete_confirm_single' => 'Wollen Sie diese Seite wirklich löschen?',
+ 'no_layout' => '-- Kein Layout --'
+ ],
+ 'layout' => [
+ 'not_found' => "Das Layout ':name' wurde nicht gefunden",
+ 'menu_label' => 'Layouts',
+ 'no_list_records' => 'Keine Layouts gefunden',
+ 'new' => 'Neues Layout',
+ 'delete_confirm_multiple' => 'Wollen Sie die ausgewählten Layouts wirklich löschen?',
+ 'delete_confirm_single' => 'Wollen Sie das ausgewählte Layout wirklich löschen?'
+ ],
+ 'partial' => [
+ 'invalid_name' => "Ungültiger Partial-Name: :name.",
+ 'not_found' => "Das Partial ':name' wurde nicht gefunden.",
+ 'menu_label' => 'Partials',
+ 'no_list_records' => 'Keine Partials gefunden',
+ 'delete_confirm_multiple' => 'Wollen Sie die ausgewählten Partials wirklich löschen?',
+ 'delete_confirm_single' => 'Wollen Sie das ausgewählte Partial wirklich löschen?',
+ 'new' => 'Neues Partial'
+ ],
+ 'content' => [
+ 'not_found' => "Die Inhaltsdatei ':name' wurde nicht gefundne.",
+ 'menu_label' => 'Inhalt',
+ 'no_list_records' => 'Keine Inhaltsdateien gefunden',
+ 'delete_confirm_multiple' => 'Wollen Sie die ausgewählten Inhalte und Verzeichnisse wirklich löschen?',
+ 'delete_confirm_single' => 'Wollen Sie diese Inhaltsdatei wirklich löschen?',
+ 'new' => 'Neue Inhaltsdatei'
+ ],
+ 'ajax_handler' => [
+ 'invalid_name' => "Ungültiger Name für AJAX Handler: :name.",
+ 'not_found' => "AJAX Handler ':name' wurde nicht gefunden.",
+ ],
+ 'combiner' => [
+ 'not_found' => "Die combiner Datei ':name' wurde nicht gefunden.",
+ ],
+ 'cms' => [
+ 'menu_label' => "CMS"
+ ],
+ 'asset' => [
+ 'menu_label' => "Assets",
+ 'drop_down_add_title' => 'Hinzufügen...',
+ 'drop_down_operation_title' => 'Aktion...',
+ 'upload_files' => 'Datei(en) hochladen',
+ 'create_file' => 'Datei erstellen',
+ 'create_directory' => 'Verzeichnis erstellen',
+ 'rename' => 'Umbenennen',
+ 'delete' => 'Löschen',
+ 'move' => 'Bewegen',
+ 'new' => 'Neue Datei',
+ 'rename_popup_title' => 'Umbenennen',
+ 'rename_new_name' => 'Neuer Name',
+ 'invalid_path' => 'Pfade dürfen ausschließlich Ziffern, lateinische Zeichen, Leerzeichen sowie die folgenden Symbole enthalten: ._-/',
+ 'error_deleting_file' => 'Fehler beim Löschen der Datei :name.',
+ 'error_deleting_dir_not_empty' => 'Fehler beim Löschen des Verzeichnisses :name, da es nicht leer ist.',
+ 'error_deleting_dir' => 'Fehler beim Löschen der Datei :name.',
+ 'invalid_name' => 'Asset-Name darf nur Ziffern, lateinische Zeichen, Leerzeichen sowie die folgenden Symbole enthalten: ._-',
+ 'original_not_found' => 'Originaldatei oder -verzeichnis wurde nicht gefunden',
+ 'already_exists' => 'Datei oder Verzeichnis mit diesem Namen existiert bereits',
+ 'error_renaming' => 'Fehler beim Umbenennen der Datei bzw. des Verzeichnisses',
+ 'name_cant_be_empty' => 'Es muss ein Name angegeben werden',
+ 'too_large' => 'Die hochzuladende Datei ist zu groß. Sie dürfen maximal Dateien der Größe :max_size hochladen',
+ 'type_not_allowed' => 'Es sind ausschließlich folgende Dateiendungen erlaubt: :allowed_types',
+ 'file_not_valid' => 'Datei ist ungültig',
+ 'error_uploading_file' => 'Fehler beim Hochladen der Datei ":name": :error',
+ 'move_please_select' => 'Bitte auswählen',
+ 'move_destination' => 'Zielverzeichnis',
+ 'move_popup_title' => 'Assets bewegen',
+ 'move_button' => 'Bewegen',
+ 'selected_files_not_found' => 'Ausgewählte Dateien nicht gefunden',
+ 'select_destination_dir' => 'Bitte wählen Sie ein Zielverzeichnis aus',
+ 'destination_not_found' => 'Zielverzeichnis wurde nicht gefunden',
+ 'error_moving_file' => 'Fehler beim Bewegen der Datei :file',
+ 'error_moving_directory' => 'Fehler beim Bewegen des Verzeichnisses :dir',
+ 'error_deleting_directory' => 'Fehler beim Löschen des Originalverzeichnisses :dir',
+ 'path' => 'Pfad'
+ ],
+ 'component' => [
+ 'menu_label' => "Komponenten",
+ 'unnamed' => "Unbenannt",
+ 'no_description' => "Keine Beschreibung angegeben",
+ 'alias' => "Verknüpfung",
+ 'alias_description' => "Dieser Komponente wird ein eindeutiger Name gegeben, wenn sie im Code von Seite oder Layout benutzt wird.",
+ 'validation_message' => "Komponentenverknüpfungen werden benötigt und dürfen nur lateinische Zeichen, Ziffern und Unterstriche beinhalten. Die Verknüpfungen müssen mit einem lateinischen Zeichen beginnen.",
+ 'invalid_request' => "Aufgrund ungültiger Komponentendaten kann das Template nicht gespeichert werden.",
+ 'no_records' => 'Keine Komponenten gefunden',
+ 'not_found' => "Die Komponente ':name' wurde nicht gefunden.",
+ 'method_not_found' => "Die Komponente ':name' enthält keine Methode mit Namen ':method'.",
+ ],
+ 'template' => [
+ 'invalid_type' => "Unbekannter Template-Typ.",
+ 'not_found' => "Das angeforderte Template wurde nicht gefunden.",
+ 'saved'=> "Das Template wurde erfolgreich gespeichert."
+ ]
+];
\ No newline at end of file
diff --git a/modules/system/lang/de/lang.php b/modules/system/lang/de/lang.php
new file mode 100644
index 000000000..b30a5d239
--- /dev/null
+++ b/modules/system/lang/de/lang.php
@@ -0,0 +1,96 @@
+ [
+ 'name' => 'October CMS',
+ 'motto' => 'Zurück zum Wesentlichen',
+ ],
+ 'directory' => [
+ 'create_fail' => "Konnte Verzeichnis: :name nicht erstellen",
+ ],
+ 'file' => [
+ 'create_fail' => "Konnte Datei :name nicht erstellen",
+ ],
+ 'system' => [
+ 'name' => 'System',
+ 'menu_label' => 'System',
+ ],
+ 'plugin' => [
+ 'unnamed' => 'Unbenanntes Plugin',
+ 'name' => [
+ 'label' => 'Plugin-Name',
+ 'help' => 'Benennen Sie das Plugin eindeutig, zum Beispiel RainLab.Blog',
+ ],
+ ],
+ 'project' => [
+ 'name' => 'Projekt',
+ 'owner_label' => 'Besitzer',
+ 'id' => [
+ 'label' => 'Projekt-ID',
+ 'help' => 'Wie Sie Ihre Projekt-ID finden',
+ 'missing' => 'Bitte geben Sie eine Projekt-ID an.',
+ ],
+ 'unbind_success' => 'Projekt wurde erfolgreich getrennt (detached).',
+ ],
+ 'settings' => [
+ 'menu_label' => 'Einstellungen',
+ 'missing_model' => 'Der Einstellungsseite fehlt eine Model-Definition.',
+ 'update_success' => 'Einstellung für :name wurde erfolgreich aktualisiert.',
+ ],
+ 'install' => [
+ 'project_label' => 'Mit Projekt verbinden',
+ 'plugin_label' => 'Plugin installieren',
+ 'missing_plugin_name' => 'Bitte geben Sie den Namen des zu installierenden Plugin an.',
+ 'install_completing' => 'Schließe Installationsprozess ab',
+ 'install_success' => 'Das Plugin wurde erfolgreich installiert.',
+ ],
+ 'updates' => [
+ 'name' => 'Software-Aktualisierung',
+ 'menu_label' => 'Aktualisierungen',
+ 'check_label' => 'Auf Aktualisierungen überprüfen',
+ 'retry_label' => 'Erneut versuchen',
+ 'core_build' => 'Aktueller Build',
+ 'core_build_old' => 'Aktueller Build :build',
+ 'core_build_new' => 'Build :build',
+ 'core_build_new_help' => 'Aktuellster Build ist verfügbar.',
+ 'core_downloading' => 'Applikationsdaten werden heruntergeladen',
+ 'core_extracting' => 'Applikationsdaten werden entpackt',
+ 'plugin_downloading' => 'Lade Plugin herunter: :name',
+ 'plugin_extracting' => 'Entpacke Plugin: :name',
+ 'plugin_version_none' => 'Neues Plugin',
+ 'plugin_version_old' => 'Aktuellste Version v:version',
+ 'plugin_version_new' => 'v:version',
+ 'update_label' => 'Aktualisieren',
+ 'update_completing' => 'Schließe Aktualisierung ab',
+ 'update_loading' => 'Lade verfügbare Aktualisierungen...',
+ 'update_success' => 'Aktualisierungsvorgang erfolgreich.',
+ 'update_failed_label' => 'Aktualisierungsvorgang fehlgeschlagen',
+ 'force_label' => 'Aktualisierung erzwingen',
+ 'found' => [
+ 'label' => 'Neue Aktualisierungen gefunden!',
+ 'help' => '"Aktualisieren" wählen um Prozess zu starten ',
+ ],
+ 'none' => [
+ 'label' => 'Keine Aktualisierungen',
+ 'help' => 'Es wurden keine Aktualisierungen gefunden.',
+ ],
+ ],
+ 'server' => [
+ 'connect_error' => 'Fehler beim Verbinden mit dem Server.',
+ 'response_not_found' => 'Der Aktualisierungs-Server kann nicht gefunden werden.',
+ 'response_invalid' => 'Ungültige Antwort vom Server.',
+ 'response_empty' => 'Ergebnislose Antwort vom Server.',
+ 'file_error' => 'Server konnte Paket nicht zur Verfügung stellen.',
+ 'file_corrupt' => 'Angelieferte Datei ist fehlerhaft.',
+ ],
+ 'behavior' => [
+ 'missing_property' => 'Klasse :class muss Eingenschaft $:property besitzen, da sie von Verhalten (behaviour) :behavior benötigt wird.',
+ ],
+ 'config' => [
+ 'not_found' => 'Konnte Konfigurationsdatei :file definiert für :location nicht finden.',
+ 'required' => 'Konfiguration, die in :location benutzt wird, muss den Wert :property zur Verfügung stellen.',
+ ],
+ 'zip' => [
+ 'extract_failed' => "Konnte Core-Datei ':file' nicht entpacken.",
+ ],
+];
\ No newline at end of file
diff --git a/modules/system/lang/de/validation.php b/modules/system/lang/de/validation.php
new file mode 100644
index 000000000..894e01caf
--- /dev/null
+++ b/modules/system/lang/de/validation.php
@@ -0,0 +1,98 @@
+ ":attribute muss bestätigt werden.",
+ "active_url" => ":attribute ist keine gültige URL.",
+ "after" => ":attribute muss ein Datum nach :date sein.",
+ "alpha" => ":attribute darf nur Buchstaben enthalten.",
+ "alpha_dash" => ":attribute darf nur Buchstaben, Ziffern und Bindestriche enthalten.",
+ "alpha_num" => ":attribute darf nur Buchstaben und Ziffern enthalten.",
+ "array" => ":attribute muss ein Array sein.",
+ "before" => ":attribute muss ein Datum vor :date sein.",
+ "between" => array(
+ "numeric" => ":attribute muss zwischen :min und :max liegen.",
+ "file" => ":attribute muss zwischen :min und :max kilobytes groß sein.",
+ "string" => ":attribute-Zeichenanzahl muss zwischen :min und :max liegen.",
+ "array" => ":attribute-Elementanzahl muss zwischen :min und :max liegen.",
+ ),
+ "confirmed" => "Bestätigung zu :attribute stimmt nicht überein",
+ "date" => ":attribute ist kein gültiges Datum.",
+ "date_format" => ":attribute hat kein gültiges Datumsformat :format.",
+ "different" => ":attribute und :other müssen sich unterscheiden.",
+ "digits" => "Das :attribute benötigt :digits Zeichen.",
+ "digits_between" => ":attribute-Zeichenanzahl muss zwischen :min und :max liegen.",
+ "email" => "Format von :attribute ist ungültig.",
+ "exists" => "Das ausgewählte Attribut :attribute ist ungültig.",
+ "image" => ":attribute muss ein Bild sein.",
+ "in" => "Das ausgewählte Attribut :attribute ist ungültig.",
+ "integer" => ":attribute muss eine Ganzzahl (integer) sein.",
+ "ip" => ":attribute muss eine gültige IP-Adresse sein.",
+ "max" => array(
+ "numeric" => ":attribute darf nicht größer als :max sein.",
+ "file" => ":attribute darf nicht größer als :max kilobytes sein.",
+ "string" => "Dateiname von :attribute darf nicht mehr als :max Zeichen haben.",
+ "array" => ":attribute darf nicht mehr als :max Elemente besitzen.",
+ ),
+ "mimes" => ":attribute muss eine Datei des Typs: :values sein.",
+ "min" => array(
+ "numeric" => ":attribute muss mindestens :min sein.",
+ "file" => ":attribute darf nicht kleiner als :min kilobytes sein.",
+ "string" => "Dateiname von :attribute darf nicht weniger als :min Zeichen haben.",
+ "array" => ":attribute darf nicht weniger als :min Elemente besitzen.",
+ ),
+ "not_in" => "Das ausgewählte Attribut :attribute ist ungültig.",
+ "numeric" => ":attribute muss eine Zahl sein.",
+ "regex" => "Format von :attribute ist ungültig.",
+ "required" => ":attribute wird benötigt.",
+ "required_if" => ":attribute wird benötigt, wenn :other den Wert :value hat.",
+ "required_with" => ":attribute wird benötigt, wenn :values existiert.",
+ "required_without" => ":attribute wird benötigt, wenn :values nicht existiert.",
+ "same" => ":attribute und :other müssen übereinstimmen.",
+ "size" => array(
+ "numeric" => ":attribute muss :size groß sein.",
+ "file" => ":attribute muss :size kilobytes groß sein.",
+ "string" => "Name von :attribute muss :size Zeichen beinhalten.",
+ "array" => ":attribute muss :size Elemente beinhalten.",
+ ),
+ "unique" => ":attribute muss eindeutig sein.",
+ "url" => "Format von :attribute ist ungültig.",
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => array(),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => array(),
+
+);
From ddcc63ef6cf529e7c5e03b65dc95175e79a47769 Mon Sep 17 00:00:00 2001
From: Jasper
Date: Thu, 15 May 2014 22:23:29 +0200
Subject: [PATCH 15/24] Updated Backend + System language support
Moved hard-coded text in "backend" and "system" to the language files
(English and Dutch). Affected pages: administrator management,
administrator group management, system updates, system settings, email
settings. Also made some strings more generic for general use (like
"Saving...." instead of "Saving administrator account...")
---
modules/backend/controllers/groups/create.htm | 4 +--
modules/backend/controllers/groups/update.htm | 8 +++---
modules/backend/controllers/users/create.htm | 4 +--
.../backend/controllers/users/mysettings.htm | 4 +--
modules/backend/controllers/users/update.htm | 6 ++--
modules/backend/lang/en/lang.php | 11 +++-----
modules/backend/lang/nl/lang.php | 11 +++-----
modules/system/ServiceProvider.php | 4 +--
modules/system/controllers/Settings.php | 2 +-
modules/system/controllers/settings/index.htm | 4 +--
.../system/controllers/settings/update.htm | 10 +++----
.../controllers/updates/config_list.yaml | 2 +-
modules/system/controllers/updates/index.htm | 6 ++--
modules/system/lang/en/lang.php | 26 +++++++++++++++++
modules/system/lang/nl/lang.php | 28 ++++++++++++++++++-
.../system/models/emailsettings/fields.yaml | 24 ++++++++--------
.../system/models/pluginversion/columns.yaml | 8 +++---
17 files changed, 104 insertions(+), 58 deletions(-)
diff --git a/modules/backend/controllers/groups/create.htm b/modules/backend/controllers/groups/create.htm
index 11515d3bc..5f9bd728a 100644
--- a/modules/backend/controllers/groups/create.htm
+++ b/modules/backend/controllers/groups/create.htm
@@ -19,7 +19,7 @@
data-request="onSave"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.group.creating')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.creating')) ?>"
class="btn btn-primary">
= e(trans('backend::lang.form.create')) ?>
@@ -29,7 +29,7 @@
data-request-data="close:1"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.group.creating')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.creating')) ?>"
class="btn btn-default">
= e(trans('backend::lang.form.create_and_close')) ?>
diff --git a/modules/backend/controllers/groups/update.htm b/modules/backend/controllers/groups/update.htm
index fc1b99ed2..2e42cf76e 100644
--- a/modules/backend/controllers/groups/update.htm
+++ b/modules/backend/controllers/groups/update.htm
@@ -20,7 +20,7 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.group.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
= e(trans('backend::lang.form.save')) ?>
@@ -30,7 +30,7 @@
data-request-data="close:1"
data-hotkey="ctrl+enter"
data-hotkey-mac="cmd+enter"
- data-load-indicator="= e(trans('backend::lang.user.group.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
= e(trans('backend::lang.form.save_and_close')) ?>
@@ -38,8 +38,8 @@
type="button"
class="btn btn-danger pull-right"
data-request="onDelete"
- data-load-indicator="= e(trans('backend::lang.user.group.deleting')) ?>"
- data-request-confirm="Do you really want to delete this admin?">
+ data-load-indicator="= e(trans('backend::lang.form.deleting')) ?>"
+ data-request-confirm="= e(trans('backend::lang.user.group.delete_confirm')) ?>">
= e(trans('backend::lang.form.delete')) ?>
diff --git a/modules/backend/controllers/users/create.htm b/modules/backend/controllers/users/create.htm
index 07d629402..b473c3b5c 100644
--- a/modules/backend/controllers/users/create.htm
+++ b/modules/backend/controllers/users/create.htm
@@ -19,7 +19,7 @@
data-request="onSave"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.creating')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.creating')) ?>"
class="btn btn-primary">
= e(trans('backend::lang.form.create')) ?>
@@ -29,7 +29,7 @@
data-request-data="close:1"
data-hotkey="ctrl+enter"
data-hotkey-mac="cmd+enter"
- data-load-indicator="= e(trans('backend::lang.user.creating')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.creating')) ?>"
class="btn btn-default">
= e(trans('backend::lang.form.create_and_close')) ?>
diff --git a/modules/backend/controllers/users/mysettings.htm b/modules/backend/controllers/users/mysettings.htm
index e303b1f5f..157c5edd2 100644
--- a/modules/backend/controllers/users/mysettings.htm
+++ b/modules/backend/controllers/users/mysettings.htm
@@ -20,7 +20,7 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
= e(trans('backend::lang.form.save')) ?>
@@ -30,7 +30,7 @@
data-request-data="close:1"
data-hotkey="ctrl+enter"
data-hotkey-mac="cmd+enter"
- data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
= e(trans('backend::lang.form.save_and_close')) ?>
diff --git a/modules/backend/controllers/users/update.htm b/modules/backend/controllers/users/update.htm
index 41f053dbd..7a0281ae2 100644
--- a/modules/backend/controllers/users/update.htm
+++ b/modules/backend/controllers/users/update.htm
@@ -20,7 +20,7 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
= e(trans('backend::lang.form.save')) ?>
@@ -30,7 +30,7 @@
data-request-data="close:1"
data-hotkey="ctrl+enter"
data-hotkey-mac="cmd+enter"
- data-load-indicator="= e(trans('backend::lang.user.saving')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
= e(trans('backend::lang.form.save_and_close')) ?>
@@ -41,7 +41,7 @@
type="button"
class="oc-icon-trash-o btn-icon danger pull-right"
data-request="onDelete"
- data-load-indicator="= e(trans('backend::lang.user.deleting')) ?>"
+ data-load-indicator="= e(trans('backend::lang.form.deleting')) ?>"
data-request-confirm="= e(trans('backend::lang.user.delete_confirm')) ?>">
diff --git a/modules/backend/lang/en/lang.php b/modules/backend/lang/en/lang.php
index 06ad0d334..c206c881d 100644
--- a/modules/backend/lang/en/lang.php
+++ b/modules/backend/lang/en/lang.php
@@ -60,9 +60,6 @@ return [
'superuser_comment' => "Check this box to allow this person to access all areas.",
'send_invite' => 'Send invitation by email',
'send_invite_comment' => 'Use this checkbox to send an invitation to the user by email',
- 'creating' => 'Creating Administrator...',
- 'saving' => 'Saving Administrator...',
- 'deleting' => 'Deleting Administrator...',
'delete_confirm' => 'Do you really want to delete this administrator?',
'return' => 'Return to the administrator list',
'group' => [
@@ -71,9 +68,7 @@ return [
'menu_label' => 'Groups',
'list_title' => 'Manage Groups',
'new' => 'New Administrator Group',
- 'creating' => 'Creating Group...',
- 'saving' => 'Saving Group...',
- 'deleting' => 'Deleting Group...',
+ 'delete_confirm' => 'Do you really want to delete this administrator group?',
'return' => 'Return to the group list',
],
'preferences' => [
@@ -103,16 +98,18 @@ return [
'not_found' => 'Form record with an ID of :id could not be found.',
'create' => 'Create',
'create_and_close' => 'Create and close',
+ 'creating' => 'Creating...',
'save' => 'Save',
'save_and_close' => 'Save and close',
'saving' => 'Saving...',
+ 'delete' => 'Delete',
+ 'deleting' => 'Deleting...',
'undefined_tab' => 'Misc',
'field_off' => 'Off',
'field_on' => 'On',
'apply' => 'Apply',
'cancel' => 'Cancel',
'close' => 'Close',
- 'delete' => 'Delete',
'ok' => 'OK',
'or' => 'or',
'confirm_tab_close' => 'Do you really want to close the tab? Unsaved changes will be lost.',
diff --git a/modules/backend/lang/nl/lang.php b/modules/backend/lang/nl/lang.php
index 54e35f9e8..569f86262 100644
--- a/modules/backend/lang/nl/lang.php
+++ b/modules/backend/lang/nl/lang.php
@@ -60,9 +60,6 @@ return [
'superuser_comment' => "Vink deze optie aan om de gebruiker volledige rechten tot het systeem te geven.",
'send_invite' => 'Stuur uitnodiging per e-mail',
'send_invite_comment' => 'Vink deze optie aan om de gebruiker een uitnodiging per e-mail te sturen',
- 'creating' => 'Administrator aanmaken...',
- 'saving' => 'Administrator opslaan...',
- 'deleting' => 'Groep verwijderen...',
'delete_confirm' => 'Weet je zeker dat je deze beheerder wilt verwijderen?',
'return' => 'Terug naar beheerdersoverzicht',
'group' => [
@@ -71,9 +68,7 @@ return [
'menu_label' => 'Groepen',
'list_title' => 'Beheer Groepen',
'new' => 'Nieuwe Beheerdersgroep',
- 'creating' => 'Groep aanmaken...',
- 'saving' => 'Groep opslaan...',
- 'deleting' => 'Groep verwijderen...',
+ 'delete_confirm' => 'Weet je zeker dat je deze beheerdersgroep wilt verwijderen?',
'return' => 'Terug naar groepenoverzicht',
],
'preferences' => [
@@ -103,16 +98,18 @@ return [
'not_found' => 'Het formulier met record ID :id is niet gevonden.',
'create' => 'Maken',
'create_and_close' => 'Maken en sluiten',
+ 'creating' => 'Maken...',
'save' => 'Opslaan',
'save_and_close' => 'Opslaan en sluiten',
'saving' => 'Opslaan...',
+ 'delete' => 'Verwijderen',
+ 'deleting' => 'Verwijderen...',
'undefined_tab' => 'Overig',
'field_off' => 'Uit',
'field_on' => 'Aan',
'apply' => 'Toepassen',
'cancel' => 'Annuleren',
'close' => 'Sluiten',
- 'delete' => 'Verwijderen',
'ok' => 'OK',
'or' => 'of',
'confirm_tab_close' => 'Weet je zeker dat je dit tabblad wilt sluiten? Niet opgeslagen wijzigingen gaan verloren.',
diff --git a/modules/system/ServiceProvider.php b/modules/system/ServiceProvider.php
index 75f1bc404..663256e42 100644
--- a/modules/system/ServiceProvider.php
+++ b/modules/system/ServiceProvider.php
@@ -155,8 +155,8 @@ class ServiceProvider extends ModuleServiceProvider
SettingsManager::instance()->registerCallback(function($manager){
$manager->registerSettingItems('October.System', [
'email' => [
- 'label' => 'Email Configuration',
- 'description' => 'Manage email configuration.',
+ 'label' => 'system::lang.email.menu_label',
+ 'description' => 'system::lang.email.menu_description',
'category' => 'System',
'icon' => 'icon-envelope',
'class' => 'System\Models\EmailSettings',
diff --git a/modules/system/controllers/Settings.php b/modules/system/controllers/Settings.php
index c06fd519a..91185cd0b 100644
--- a/modules/system/controllers/Settings.php
+++ b/modules/system/controllers/Settings.php
@@ -73,7 +73,7 @@ class Settings extends Controller
}
$model->save(null, $this->formWidget->getSessionKey());
- Flash::success(Lang::get('system::lang.settings.update_success', ['name'=>$item->label]));
+ Flash::success(Lang::get('system::lang.settings.update_success', ['name' => Lang::get($item->label)]));
if ($redirect = Backend::Url('system/settings'))
return Redirect::to($redirect);
diff --git a/modules/system/controllers/settings/index.htm b/modules/system/controllers/settings/index.htm
index b460f89b9..32d8c0220 100644
--- a/modules/system/controllers/settings/index.htm
+++ b/modules/system/controllers/settings/index.htm
@@ -12,8 +12,8 @@
diff --git a/modules/system/controllers/settings/update.htm b/modules/system/controllers/settings/update.htm
index e66e74ab0..e6781bcef 100644
--- a/modules/system/controllers/settings/update.htm
+++ b/modules/system/controllers/settings/update.htm
@@ -1,6 +1,6 @@
@@ -19,13 +19,13 @@
data-request-data="redirect:0"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s"
- data-load-indicator="Saving..."
+ data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-primary">
- S ave settings
+ = e(trans('backend::lang.form.save')) ?>
- or Cancel
+ = e(trans('backend::lang.form.or')) ?> = e(trans('backend::lang.form.cancel')) ?>
@@ -33,5 +33,5 @@
= e($this->fatalError) ?>
- Return to system settings
+ = e(trans('system::lang.settings.return')) ?>
\ No newline at end of file
diff --git a/modules/system/controllers/updates/config_list.yaml b/modules/system/controllers/updates/config_list.yaml
index 753ac8f83..114251feb 100644
--- a/modules/system/controllers/updates/config_list.yaml
+++ b/modules/system/controllers/updates/config_list.yaml
@@ -2,7 +2,7 @@
# List Behavior Config
# ===================================
-title: Manage Updates
+title: system::lang.updates.title
list: @/modules/system/models/pluginversion/columns.yaml
modelClass: System\Models\PluginVersion
noRecordsMessage: backend::lang.list.no_records
diff --git a/modules/system/controllers/updates/index.htm b/modules/system/controllers/updates/index.htm
index e5da14949..48ae53f9c 100644
--- a/modules/system/controllers/updates/index.htm
+++ b/modules/system/controllers/updates/index.htm
@@ -10,16 +10,16 @@
href="javascript:;"
data-request-confirm="Are you sure?"
data-request="onDetachProject"
- data-stripe-load-indicator>detach)
+ data-stripe-load-indicator>= e(trans('system::lang.project.detach_confirm')) ?>)
- None
+ = e(trans('system::lang.project.none')) ?>
- Attach to Project
+ = e(trans('system::lang.project.attach')) ?>
diff --git a/modules/system/lang/en/lang.php b/modules/system/lang/en/lang.php
index 3d174122f..b43704742 100644
--- a/modules/system/lang/en/lang.php
+++ b/modules/system/lang/en/lang.php
@@ -25,17 +25,38 @@ return [
'project' => [
'name' => 'Project',
'owner_label' => 'Owner',
+ 'attach' => 'Attach Project',
+ 'detach' => 'Detach Project',
+ 'none' => 'None',
'id' => [
'label' => 'Project ID',
'help' => 'How to find your Project ID',
'missing' => 'Please specify a Project ID to use.',
],
+ 'detach_confirm_' => 'Are you sure you want to detach this project?',
'unbind_success' => 'Project has been detached successfully.',
],
'settings' => [
'menu_label' => 'Settings',
'missing_model' => 'The settings page is missing a Model definition.',
'update_success' => 'Settings for :name have been updated successfully.',
+ 'return' => 'Return to system settings',
+ ],
+ 'email' => [
+ 'menu_label' => 'Email Configuration',
+ 'menu_description' => 'Manage email configuration.',
+ 'method' => 'Email Method',
+ 'sender_name' => 'Sender Name',
+ 'sender_email' => 'Sender Email',
+ 'smtp_address' => 'SMTP Address',
+ 'smtp_authorization' => 'SMTP authorization required',
+ 'smtp_authorization_comment' => 'Use this checkbox if your SMTP server requires authorization.',
+ 'smtp_username' => 'Username',
+ 'smtp_password' => 'Password',
+ 'smtp_port' => 'SMTP Port',
+ 'smtp_ssl' => 'SSL connection required',
+ 'sendmail_path' => 'Sendmail Path',
+ 'sendmail_path_comment' => 'Please specify the path of the sendmail program.',
],
'install' => [
'project_label' => 'Attach to Project',
@@ -45,10 +66,15 @@ return [
'install_success' => 'The plugin has been installed successfully.',
],
'updates' => [
+ 'title' => 'Manage Updates',
'name' => 'Software update',
'menu_label' => 'Updates',
'check_label' => 'Check for updates',
'retry_label' => 'Try again',
+ 'plugin_name' => 'Name',
+ 'plugin_description' => 'Description',
+ 'plugin_version' => 'Version',
+ 'plugin_author' => 'Author',
'core_build' => 'Current build',
'core_build_old' => 'Current build :build',
'core_build_new' => 'Build :build',
diff --git a/modules/system/lang/nl/lang.php b/modules/system/lang/nl/lang.php
index 6b02ed2d4..b421c0f15 100644
--- a/modules/system/lang/nl/lang.php
+++ b/modules/system/lang/nl/lang.php
@@ -25,17 +25,38 @@ return [
'project' => [
'name' => 'Project',
'owner_label' => 'Eigenaar',
+ 'attach' => 'Project Koppelen',
+ 'detach' => 'Project Ontkoppelen',
+ 'none' => 'Geen',
'id' => [
'label' => 'Project ID',
'help' => 'Hoe vind je jouw Project ID',
'missing' => 'Voer een Project ID in.',
],
- 'unbind_success' => 'Project is succesvol losgekoppeld.',
+ 'detach_confirm_' => 'Are you sure you want to detach this project?',
+ 'unbind_success' => 'Project is succesvol ontkoppeld.',
],
'settings' => [
'menu_label' => 'Instellingen',
'missing_model' => 'De instellingenpagina mist de definitie van een Model.',
'update_success' => 'Instellingen voor :name zijn succesvol bijgewerkt.',
+ 'return' => 'Terug naar systeeminstellingen',
+ ],
+ 'email' => [
+ 'menu_label' => 'E-mailinstellingen',
+ 'menu_description' => 'Beheer e-mailinstellingen.',
+ 'method' => 'Email Methode',
+ 'sender_name' => 'Naam Afzender',
+ 'sender_email' => 'E-mailadres Afzender',
+ 'smtp_address' => 'SMTP Adres',
+ 'smtp_authorization' => 'SMTP authenticatie vereist',
+ 'smtp_authorization_comment' => 'Vink deze optie aan indien de SMTP server authenticatie vereist.',
+ 'smtp_username' => 'Gebruikersnaam',
+ 'smtp_password' => 'Wachtwoord',
+ 'smtp_port' => 'SMTP Poort',
+ 'smtp_ssl' => 'SSL verbinding vereist',
+ 'sendmail_path' => 'Pad naar Sendmail',
+ 'sendmail_path_comment' => 'Geef hier het volledige pad op naar de Sendmail-applicatie.',
],
'install' => [
'project_label' => 'Koppel aan Project',
@@ -45,10 +66,15 @@ return [
'install_success' => 'De plugin is succesvol geïnstalleerd.',
],
'updates' => [
+ 'title' => 'Beheer Updates',
'name' => 'Applicatie-update',
'menu_label' => 'Updates',
'check_label' => 'Controleer op updates',
'retry_label' => 'Probeer nogmaals',
+ 'plugin_name' => 'Naam',
+ 'plugin_description' => 'Omschrijving',
+ 'plugin_version' => 'Versie',
+ 'plugin_author' => 'Auteur',
'core_build' => 'Huidige build',
'core_build_old' => 'Huidige build :build',
'core_build_new' => 'Build :build',
diff --git a/modules/system/models/emailsettings/fields.yaml b/modules/system/models/emailsettings/fields.yaml
index ce86abe5f..4d268a91b 100644
--- a/modules/system/models/emailsettings/fields.yaml
+++ b/modules/system/models/emailsettings/fields.yaml
@@ -6,50 +6,50 @@ tabs:
fields:
send_mode:
- label: Email Method
+ label: system::lang.email.method
type: dropdown
tab: General
sender_name:
- label: Sender Name
+ label: system::lang.email.sender_name
span: auto
tab: General
sender_email:
- label: Sender Email
+ label: system::lang.email.sender_email
span: auto
tab: General
smtp_address:
- label: SMTP address
+ label: system::lang.email.smtp_address
tab: SMTP
smtp_authorization:
type: checkbox
- label: SMTP Authorization Required
+ label: system::lang.email.smtp_authorization
tab: SMTP
- comment: Use this checkbox if your SMTP server requires authorization.
+ comment: system::lang.email.smtp_authorization_comment
smtp_user:
- label: User
+ label: system::lang.email.smtp_username
tab: SMTP
span: left
smtp_password:
- label: Password
+ label: system::lang.email.smtp_password
tab: SMTP
span: right
smtp_port:
- label: SMTP Port
+ label: system::lang.email.smtp_port
tab: SMTP
smtp_ssl:
type: checkbox
- label: SSL connection required
+ label: system::lang.email.smtp_ssl
tab: SMTP
sendmail_path:
- label: Sendmail path
- commentAbove: Please specify the path of the sendmail program.
+ label: system::lang.email.sendmail_path
+ commentAbove: system::lang.email.sendmail_path_comment
tab: Sendmail
\ No newline at end of file
diff --git a/modules/system/models/pluginversion/columns.yaml b/modules/system/models/pluginversion/columns.yaml
index db4ea1ff9..0e3c09bea 100644
--- a/modules/system/models/pluginversion/columns.yaml
+++ b/modules/system/models/pluginversion/columns.yaml
@@ -5,17 +5,17 @@
columns:
name:
- label: Name
+ label: system::lang.updates.plugin_name
sortable: false
description:
- label: Description
+ label: system::lang.updates.plugin_description
sortable: false
version:
- label: Version
+ label: system::lang.updates.plugin_version
sortable: false
author:
- label: Author
+ label: system::lang.updates.plugin_author
sortable: false
\ No newline at end of file
From 8cc375939f3d8ed3acad742054ca9d5cdfd01bba Mon Sep 17 00:00:00 2001
From: alxy
Date: Thu, 15 May 2014 22:32:56 +0200
Subject: [PATCH 16/24] Minor fixes
---
modules/system/traits/AssetMaker.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/system/traits/AssetMaker.php b/modules/system/traits/AssetMaker.php
index b05b3cd4e..41676ce55 100644
--- a/modules/system/traits/AssetMaker.php
+++ b/modules/system/traits/AssetMaker.php
@@ -115,7 +115,7 @@ trait AssetMaker
$cssPath = $this->getAssetPath($name);
if (isset($this->controller))
- $this->controller->addCss($cssPath);
+ $this->controller->addCss($cssPath, $attributes);
if (substr($cssPath, 0, 1) == '/')
$cssPath = Request::getBaseUrl() . $cssPath;
@@ -139,7 +139,7 @@ trait AssetMaker
$rssPath = $this->getAssetPath($name);
if (isset($this->controller))
- $this->controller->addRss($rssPath);
+ $this->controller->addRss($rssPath, $attributes);
if (substr($rssPath, 0, 1) == '/')
$rssPath = Request::getBaseUrl() . $rssPath;
From 8d82727310e76389dd873eea9a73b3e49d761dad Mon Sep 17 00:00:00 2001
From: Jasper
Date: Fri, 16 May 2014 01:04:40 +0200
Subject: [PATCH 17/24] Updated CMS language support
Moved hard-coded text in "cms" to the language files (English and
Dutch). And some minor changes.
---
.../widgets/form/partials/_field_text.htm | 2 +-
.../widgets/form/partials/_field_textarea.htm | 2 +-
.../widgets/form/partials/_form_tabs.htm | 2 +-
modules/cms/classes/asset/fields.yaml | 4 +--
modules/cms/classes/content/fields.yaml | 4 +--
modules/cms/classes/layout/fields.yaml | 8 ++---
modules/cms/classes/page/fields.yaml | 30 +++++++++----------
modules/cms/classes/partial/fields.yaml | 6 ++--
.../cms/controllers/index/_page_toolbar.htm | 4 +--
modules/cms/lang/en/lang.php | 20 +++++++++++++
modules/cms/lang/nl/lang.php | 20 +++++++++++++
.../widgets/assetlist/partials/_toolbar.htm | 4 +--
.../componentlist/partials/_toolbar.htm | 2 +-
.../templatelist/partials/_toolbar.htm | 4 +--
modules/system/lang/en/lang.php | 3 ++
modules/system/lang/nl/lang.php | 3 ++
.../system/models/emailsettings/fields.yaml | 20 ++++++-------
17 files changed, 92 insertions(+), 46 deletions(-)
diff --git a/modules/backend/widgets/form/partials/_field_text.htm b/modules/backend/widgets/form/partials/_field_text.htm
index 1e2a94ba8..04d8aefe6 100644
--- a/modules/backend/widgets/form/partials/_field_text.htm
+++ b/modules/backend/widgets/form/partials/_field_text.htm
@@ -7,7 +7,7 @@
name="= $field->getName() ?>"
id="= $field->getId() ?>"
value="= e($field->value) ?>"
- placeholder="= e($field->placeholder) ?>"
+ placeholder="= e(trans($field->placeholder)) ?>"
class="form-control"
autocomplete="off"
maxlength="255"
diff --git a/modules/backend/widgets/form/partials/_field_textarea.htm b/modules/backend/widgets/form/partials/_field_textarea.htm
index 6535a36d7..40cbf4815 100644
--- a/modules/backend/widgets/form/partials/_field_textarea.htm
+++ b/modules/backend/widgets/form/partials/_field_textarea.htm
@@ -7,6 +7,6 @@
id="= $field->getId() ?>"
autocomplete="off"
class="form-control field-textarea size-= $field->size ?>"
- placeholder="= $field->placeholder ?>"
+ placeholder="= e(trans($field->placeholder)) ?>"
= HTML::attributes($field->attributes) ?>>= e($field->value) ?>
\ No newline at end of file
diff --git a/modules/backend/widgets/form/partials/_form_tabs.htm b/modules/backend/widgets/form/partials/_form_tabs.htm
index 0e12bf53c..0ff0eda25 100644
--- a/modules/backend/widgets/form/partials/_form_tabs.htm
+++ b/modules/backend/widgets/form/partials/_form_tabs.htm
@@ -5,7 +5,7 @@
diff --git a/modules/cms/classes/asset/fields.yaml b/modules/cms/classes/asset/fields.yaml
index 14c5f4af7..774eeadbb 100644
--- a/modules/cms/classes/asset/fields.yaml
+++ b/modules/cms/classes/asset/fields.yaml
@@ -1,6 +1,6 @@
fields:
fileName:
- label: File Name
+ label: cms::lang.editor.filename
attributes:
default-focus: 1
@@ -13,7 +13,7 @@ secondaryTabs:
stretch: true
fields:
content:
- tab: Content
+ tab: cms::lang.editor.content
type: codeeditor
stretch: true
options:
diff --git a/modules/cms/classes/content/fields.yaml b/modules/cms/classes/content/fields.yaml
index 1715b6112..09aa6ca4e 100644
--- a/modules/cms/classes/content/fields.yaml
+++ b/modules/cms/classes/content/fields.yaml
@@ -1,6 +1,6 @@
fields:
fileName:
- label: File Name
+ label: cms::lang.editor.filename
attributes:
default-focus: 1
@@ -13,7 +13,7 @@ secondaryTabs:
stretch: true
fields:
content:
- tab: Content
+ tab: cms::lang.editor.content
type: codeeditor
stretch: true
options:
diff --git a/modules/cms/classes/layout/fields.yaml b/modules/cms/classes/layout/fields.yaml
index 185bed55f..2984deb7d 100644
--- a/modules/cms/classes/layout/fields.yaml
+++ b/modules/cms/classes/layout/fields.yaml
@@ -1,12 +1,12 @@
fields:
fileName:
- label: File Name
+ label: cms::lang.editor.filename
span: left
attributes:
default-focus: 1
settings[description]:
- label: Description
+ label: cms::lang.editor.description
span: right
toolbar:
@@ -20,14 +20,14 @@ secondaryTabs:
stretch: true
fields:
markup:
- tab: Markup
+ tab: cms::lang.editor.markup
type: codeeditor
stretch: true
options:
language: twig
code:
- tab: Code
+ tab: cms::lang.editor.code
type: codeeditor
stretch: true
options:
diff --git a/modules/cms/classes/page/fields.yaml b/modules/cms/classes/page/fields.yaml
index bd289b698..b643a9f3e 100644
--- a/modules/cms/classes/page/fields.yaml
+++ b/modules/cms/classes/page/fields.yaml
@@ -1,15 +1,15 @@
fields:
settings[title]:
span: left
- label: Title
- placeholder: New page title
+ label: cms::lang.editor.title
+ placeholder: cms::lang.editor.new_title
attributes:
default-focus: 1
settings[url]:
span: right
placeholder: /
- label: URL
+ label: cms::lang.editor.url
attributes:
data-input-preset: 'input[name="settings[title]"]'
data-input-preset-type: url
@@ -31,34 +31,34 @@ tabs:
# type: checkbox
fileName:
- tab: Settings
+ tab: cms::lang.editor.settings
span: left
- label: File Name
+ label: cms::lang.editor.filename
attributes:
data-input-preset: 'input[name="settings[title]"]'
data-input-preset-type: file
data-input-preset-closest-parent: form
settings[layout]:
- tab: Settings
+ tab: cms::lang.editor.settings
span: right
- label: Layout
+ label: cms::lang.editor.layout
type: dropdown
options: getLayoutOptions
settings[description]:
- tab: Settings
- label: Description
+ tab: cms::lang.editor.settings
+ label: cms::lang.editor.description
type: textarea
size: tiny
settings[meta_title]:
- tab: Meta
- label: Meta Title
+ tab: cms::lang.editor.meta
+ label: cms::lang.editor.meta_title
settings[meta_description]:
- tab: Meta
- label: Meta Description
+ tab: cms::lang.editor.meta
+ label: cms::lang.editor.meta_description
type: textarea
size: tiny
@@ -66,14 +66,14 @@ secondaryTabs:
stretch: true
fields:
markup:
- tab: Markup
+ tab: cms::lang.editor.markup
type: codeeditor
stretch: true
options:
language: twig
code:
- tab: Code
+ tab: cms::lang.editor.code
type: codeeditor
stretch: true
options:
diff --git a/modules/cms/classes/partial/fields.yaml b/modules/cms/classes/partial/fields.yaml
index 62c676792..cd233d2b1 100644
--- a/modules/cms/classes/partial/fields.yaml
+++ b/modules/cms/classes/partial/fields.yaml
@@ -1,13 +1,13 @@
fields:
fileName:
span: left
- label: File Name
+ label: cms::lang.editor.filename
attributes:
default-focus: 1
settings[description]:
span: right
- label: Description
+ label: cms::lang.editor.description
toolbar:
type: partial
@@ -18,7 +18,7 @@ secondaryTabs:
stretch: true
fields:
markup:
- tab: Markup
+ tab: cms::lang.editor.markup
type: codeeditor
stretch: true
options:
diff --git a/modules/cms/controllers/index/_page_toolbar.htm b/modules/cms/controllers/index/_page_toolbar.htm
index 86ba4f419..9b3b7ed46 100644
--- a/modules/cms/controllers/index/_page_toolbar.htm
+++ b/modules/cms/controllers/index/_page_toolbar.htm
@@ -6,7 +6,7 @@
data-load-indicator="= e(trans('backend::lang.form.saving')) ?>"
data-hotkey="ctrl+s"
data-hotkey-mac="cmd+s">
- = e(trans('backend::lang.form.save')) ?>
+ = e(trans('backend::lang.form.save')) ?>
hide"
data-control="preview-button">
- Preview
+ = e(trans('cms::lang.editor.preview')) ?>
[
'menu_label' => "CMS"
],
+ 'sidebar' => [
+ 'add' => 'Add',
+ 'search' => 'Search...'
+ ],
+ 'editor' => [
+ 'settings' => 'Settings',
+ 'title' => 'Title',
+ 'new_title' => 'Nieuwe paginatitel',
+ 'url' => 'URL',
+ 'filename' => 'File Name',
+ 'layout' => 'Layout',
+ 'description' => 'Description',
+ 'preview' => 'Preview',
+ 'meta' => 'Meta',
+ 'meta_title' => 'Meta Title',
+ 'meta_description' => 'Meta Description',
+ 'markup' => 'Markup',
+ 'code' => 'Code',
+ 'content' => 'Content',
+ ],
'asset' => [
'menu_label' => "Assets",
'drop_down_add_title' => 'Add...',
diff --git a/modules/cms/lang/nl/lang.php b/modules/cms/lang/nl/lang.php
index 4cd93d964..0a59ce1d7 100644
--- a/modules/cms/lang/nl/lang.php
+++ b/modules/cms/lang/nl/lang.php
@@ -74,6 +74,26 @@ return [
'cms' => [
'menu_label' => "CMS"
],
+ 'sidebar' => [
+ 'add' => 'Toevoegen',
+ 'search' => 'Zoeken...'
+ ],
+ 'editor' => [
+ 'settings' => 'Instellingen',
+ 'title' => 'Titel',
+ 'new_title' => 'Nieuwe paginatitel',
+ 'url' => 'URL',
+ 'filename' => 'Bestandsnaam',
+ 'layout' => 'Layout',
+ 'description' => 'Omschrijving',
+ 'preview' => 'Voorbeeld',
+ 'meta' => 'Meta',
+ 'meta_title' => 'Meta Titel',
+ 'meta_description' => 'Meta Omschrijving',
+ 'markup' => 'Opmaak',
+ 'code' => 'Code',
+ 'content' => 'Content',
+ ],
'asset' => [
'menu_label' => "Middelen",
'drop_down_add_title' => 'Toevoegen...',
diff --git a/modules/cms/widgets/assetlist/partials/_toolbar.htm b/modules/cms/widgets/assetlist/partials/_toolbar.htm
index db071273b..8ee6fef5c 100644
--- a/modules/cms/widgets/assetlist/partials/_toolbar.htm
+++ b/modules/cms/widgets/assetlist/partials/_toolbar.htm
@@ -7,7 +7,7 @@
Add
+ >= e(trans('cms::lang.sidebar.add')) ?>