mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
ENHANCEMENT Allowing translation of some static properties on DataObject and subclasses through DataObject->fieldLabels(). Part of the provideI18nEntities() work which was started in r64881 (see #1625)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65020 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
f05f6d34b7
commit
7239db8c1b
@ -2535,11 +2535,24 @@ class DataObject extends ViewableData implements DataObjectInterface {
|
|||||||
public function fieldLabels() {
|
public function fieldLabels() {
|
||||||
$customLabels = $this->stat('field_labels');
|
$customLabels = $this->stat('field_labels');
|
||||||
$autoLabels = array();
|
$autoLabels = array();
|
||||||
if($this->inheritedDatabaseFields()){
|
|
||||||
foreach($this->inheritedDatabaseFields() as $name => $type) {
|
// get all translated static properties as defined in i18nCollectStatics()
|
||||||
$autoLabels[$name] = FormField::name_to_label($name);
|
$ancestry = ClassInfo::ancestry($this->class);
|
||||||
}
|
$ancestry = array_reverse($ancestry);
|
||||||
}
|
if($ancestry) foreach($ancestry as $ancestorClass) {
|
||||||
|
if($ancestorClass == 'ViewableData') break;
|
||||||
|
$types = array(
|
||||||
|
'db' => (array)singleton($ancestorClass)->uninherited('db', true),
|
||||||
|
'has_one' => (array)singleton($ancestorClass)->uninherited('has_one', true),
|
||||||
|
'has_many' => (array)singleton($ancestorClass)->uninherited('has_many', true),
|
||||||
|
'many_many' => (array)singleton($ancestorClass)->uninherited('many_many', true)
|
||||||
|
);
|
||||||
|
foreach($types as $type => $attrs) {
|
||||||
|
foreach($attrs as $name => $spec)
|
||||||
|
$autoLabels[$name] = _t("{$ancestorClass}.{$type}_{$name}",FormField::name_to_label($name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$labels = array_merge((array)$autoLabels, (array)$customLabels);
|
$labels = array_merge((array)$autoLabels, (array)$customLabels);
|
||||||
$this->extend('updateFieldLabels', $labels);
|
$this->extend('updateFieldLabels', $labels);
|
||||||
|
|
||||||
@ -2858,13 +2871,13 @@ class DataObject extends ViewableData implements DataObjectInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$entities["{$this->class}.SINGULARNAME"] = array(
|
$entities["{$this->class}.SINGULARNAME"] = array(
|
||||||
$this->uninherited('singular_name', true),
|
$this->singular_name(),
|
||||||
PR_MEDIUM,
|
PR_MEDIUM,
|
||||||
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
|
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
|
||||||
);
|
);
|
||||||
|
|
||||||
$entities["{$this->class}.PLURALNAME"] = array(
|
$entities["{$this->class}.PLURALNAME"] = array(
|
||||||
$this->uninherited('plural_name', true),
|
$this->plural_name(),
|
||||||
PR_MEDIUM,
|
PR_MEDIUM,
|
||||||
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
|
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user