mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Added fallback to default language for phrases
. added fallback to default language in PhrasesLib.php . fixed small issues concerning right translation in PhrasesLib.php . all other files: adding translation for Infocenter overview + details page (client- and serverside)
This commit is contained in:
@@ -182,6 +182,10 @@ class PhrasesLib
|
||||
/**
|
||||
* Retrives a phrases from the the property _phrases with the given parameters
|
||||
* It also replace parameters inside the phrase if they are provided
|
||||
* @param string $category Category name which is used to categorize the phrase.
|
||||
* @param string $phrase Phrase name.
|
||||
* @param array $parameters Array of String var(s) to be set into phrases' placeholder values (order matters).
|
||||
* @return string Phrase text
|
||||
*/
|
||||
public function t($category, $phrase, $parameters = array(), $orgeinheit_kurzbz = null, $orgform_kurzbz = null)
|
||||
{
|
||||
@@ -217,18 +221,21 @@ class PhrasesLib
|
||||
/**
|
||||
* Extends the functionalities of the constructor of this class
|
||||
* This is a workaround to use more parameters in the construct since PHP doesn't support many constructors
|
||||
* The new accepted parameters are:
|
||||
* - categories:
|
||||
* @param (array) $params Array of categories and (optional) language.
|
||||
* categories:
|
||||
* - could be a string or an array of strings. These are the categories used to load phrases
|
||||
* - could be an array of categories, and for each category there is an array of phrases
|
||||
* - language: optional parameter must be a string. It's used to load phrases
|
||||
* language: optional parameter must be a string. It's used to load phrases
|
||||
* stores phrases-array in property $_phrases
|
||||
*/
|
||||
private function _extend_construct($params)
|
||||
{
|
||||
// Checks if the $params is an array with at least one element
|
||||
if (is_array($params) && count($params) > 0)
|
||||
{
|
||||
$parameters = $params[0]; // temporary variable
|
||||
$parameters = $params[0]; // temporary variable
|
||||
$indexArray = false; //flag for indexed array
|
||||
$assocArray = false; //flag for associative array
|
||||
|
||||
// If there are parameters
|
||||
if (is_array($parameters) && count($parameters) > 0)
|
||||
@@ -252,16 +259,75 @@ class PhrasesLib
|
||||
$language = $this->_ci->PersonModel->getLanguage(getAuthUID());
|
||||
}
|
||||
|
||||
// checks if categories is associative or indexed array
|
||||
// Checks if categories is associative or indexed array
|
||||
if (ctype_digit(implode('', array_keys($categories))))
|
||||
{
|
||||
// Loads phrases
|
||||
// is indexed array -> Loads phrases
|
||||
$indexArray = true;
|
||||
$phrases = $this->_ci->PhraseModel->getPhrasesByCategoryAndLanguage($categories, $language);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Loads specific phrasentexte by category and phrases
|
||||
$phrases = $this->_ci->PhraseModel->getPhrasesByCategoryAndPhrasesAndLanguage($categories, $language);
|
||||
// is assoc array -> Loads specific phrasentexte by category and phrases
|
||||
$assocArray = true;
|
||||
$phrases = $this->_ci->PhraseModel
|
||||
->getPhrasesByCategoryAndPhrasesAndLanguage($categories, $language);
|
||||
}
|
||||
|
||||
// If language is not default language and phrasentext is null -> fallback to default language
|
||||
if ($language != DEFAULT_LANGUAGE)
|
||||
{
|
||||
// get array with phrasentexte in the default language
|
||||
$defaultPhrases = array();
|
||||
if ($indexArray)
|
||||
{
|
||||
$defaultPhrases = $this->_ci->PhraseModel
|
||||
->getPhrasesByCategoryAndLanguage($categories, DEFAULT_LANGUAGE);
|
||||
}
|
||||
elseif ($assocArray)
|
||||
{
|
||||
$defaultPhrases = $this->_ci->PhraseModel
|
||||
->getPhrasesByCategoryAndPhrasesAndLanguage($categories, DEFAULT_LANGUAGE);
|
||||
}
|
||||
|
||||
// combine array with phrasentexte in users language and in default language
|
||||
// (default used if phrasentext in users language is null or not set)
|
||||
$phrasesArr = array();
|
||||
if (!empty($phrases->retval))
|
||||
{
|
||||
// loop through phrases in default language
|
||||
foreach ($defaultPhrases->retval as $defaultPhrase)
|
||||
{
|
||||
$phraseObj = new stdClass();
|
||||
$found = false; // flag for found phrase
|
||||
|
||||
// loop through phrases in users language
|
||||
foreach ($phrases->retval as $phrase)
|
||||
{
|
||||
// if same phrase and category found and text is not null
|
||||
// use phrase in users language
|
||||
if ($phrase->phrase === $defaultPhrase->phrase
|
||||
&& $phrase->category === $defaultPhrase->category
|
||||
&& !is_null($phrase->text))
|
||||
{
|
||||
$found = true;
|
||||
array_push($phrasesArr, $phrase);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// otherwise use phrase in default language
|
||||
if (!$found)
|
||||
{
|
||||
array_push($phrasesArr, $defaultPhrase);
|
||||
}
|
||||
}
|
||||
$phrases->retval = $phrasesArr;
|
||||
}
|
||||
else
|
||||
{
|
||||
$phrases->retval = $defaultPhrases->retval;
|
||||
}
|
||||
}
|
||||
|
||||
// If there are phrases loaded then store them in the property _phrases
|
||||
@@ -275,6 +341,7 @@ class PhrasesLib
|
||||
|
||||
/**
|
||||
* Returns the property _phrases JSON encoded
|
||||
* @return json encoded property _phrases
|
||||
*/
|
||||
public function getJSON()
|
||||
{
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
'tablesorter' => true,
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'phrases'=> array(
|
||||
'phrases' => array(
|
||||
'person' => array('vorname', 'nachname'),
|
||||
'ui' => array('speichern'),
|
||||
'global' => array('mailAnXversandt')
|
||||
'global' => array('mailAnXversandt'),
|
||||
'ui' => array('bitteEintragWaehlen')
|
||||
),
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
@@ -33,12 +33,17 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">Infocenter <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?></h3>
|
||||
<h3 class="page-header">Infocenter
|
||||
<?php echo ucfirst($this->p->t('global', 'uebersicht')); ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<?php
|
||||
$this->load->view('system/infocenter/infocenterData.php', array('fhc_controller_id' => $fhc_controller_id));
|
||||
$this->load->view(
|
||||
'system/infocenter/infocenterData.php',
|
||||
array('fhc_controller_id' => $fhc_controller_id)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -24,8 +24,33 @@
|
||||
array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/tablesort/tablesort.js',
|
||||
'public/js/infocenter/infocenterDetails.js')
|
||||
'public/js/infocenter/infocenterDetails.js'
|
||||
),
|
||||
'phrases' =>
|
||||
array(
|
||||
'infocenter' =>
|
||||
array(
|
||||
'notizHinzufuegen',
|
||||
'notizAendern',
|
||||
'bewerberParken',
|
||||
'bewerberAusparken',
|
||||
'nichtsZumAusparken',
|
||||
'fehlerBeimAusparken',
|
||||
'fehlerBeimParken',
|
||||
'bewerberGeparktBis'
|
||||
),
|
||||
'ui' =>
|
||||
array(
|
||||
'gespeichert',
|
||||
'fehlerBeimSpeichern'
|
||||
),
|
||||
'global' =>
|
||||
array(
|
||||
'bis',
|
||||
'zeilen'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
@@ -44,14 +69,17 @@
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="headerright text-right">
|
||||
<?php echo $this->p->t('global', 'wirdBearbeitetVon') . ':' ?>
|
||||
<?php echo $this->p->t('global', 'wirdBearbeitetVon').':' ?>
|
||||
<?php
|
||||
if (isset($lockedby)):
|
||||
echo $lockedby;
|
||||
?>
|
||||
|
||||
<a href="../unlockPerson/<?php echo $stammdaten->person_id; ?>?fhc_controller_id=<?php echo $fhc_controller_id; ?>"><i
|
||||
class="fa fa-sign-out"></i> <?php echo ucfirst($this->p->t('ui', 'freigeben')) ?></a>
|
||||
<a href="../unlockPerson/<?php echo $stammdaten->person_id; ?>
|
||||
?fhc_controller_id=<?php echo $fhc_controller_id; ?>">
|
||||
<i class="fa fa-sign-out"></i>
|
||||
<?php echo ucfirst($this->p->t('ui', 'freigeben')) ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -61,7 +89,9 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading text-center"><h4><?php echo ucfirst($this->p->t('global','stammdaten')) ?></h4></div>
|
||||
<div class="panel-heading text-center">
|
||||
<h4><?php echo ucfirst($this->p->t('global', 'stammdaten')) ?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<?php $this->load->view('system/infocenter/stammdaten.php'); ?>
|
||||
<?php $this->load->view('system/infocenter/anmerkungenZurBewerbung.php'); ?>
|
||||
@@ -75,7 +105,9 @@
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-primary">
|
||||
<a name="DokPruef"></a><!-- anchor for jumping to the section -->
|
||||
<div class="panel-heading text-center"><h4><?php echo ucfirst($this->p->t('infocenter','dokumentenpruefung')) ?></h4></div>
|
||||
<div class="panel-heading text-center">
|
||||
<h4><?php echo ucfirst($this->p->t('infocenter', 'dokumentenpruefung')) ?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<?php $this->load->view('system/infocenter/dokpruefung.php'); ?>
|
||||
</div> <!-- ./panel-body -->
|
||||
@@ -89,7 +121,8 @@
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading text-center">
|
||||
<a name="ZgvPruef"></a>
|
||||
<h4><?php echo $this->p->t('infocenter', 'zgv') . ' - ' . ucfirst($this->p->t('lehre','pruefung'))?></h4>
|
||||
<h4><?php echo $this->p->t('infocenter', 'zgv'). ' - '.
|
||||
ucfirst($this->p->t('lehre', 'pruefung'))?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<?php $this->load->view('system/infocenter/zgvpruefungen.php'); ?><!-- /.panel-group -->
|
||||
@@ -104,7 +137,7 @@
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading text-center">
|
||||
<a name="Nachrichten"></a>
|
||||
<h4 class="text-center"><?php echo ucfirst($this->p->t('global','nachrichten')) ?></h4>
|
||||
<h4 class="text-center"><?php echo ucfirst($this->p->t('global', 'nachrichten')) ?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
@@ -123,7 +156,8 @@
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading text-center">
|
||||
<a name="NotizAkt"></a>
|
||||
<h4 class="text-center"><?php echo ucfirst($this->p->t('global','notizen')) . ' & ' . ucfirst($this->p->t('global','aktivitaeten')) ?></h4>
|
||||
<h4 class="text-center"><?php echo ucfirst($this->p->t('global', 'notizen')). ' & '.
|
||||
ucfirst($this->p->t('global', 'aktivitaeten')) ?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
|
||||
@@ -17,13 +17,13 @@ $this->load->view(
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">Zugangsvoraussetzungen <?php echo $studiengang_kurzbz; ?> - <?php echo $studiengang_bezeichnung; ?></h3>
|
||||
<h3 class="page-header"><?php echo $this->p->t('infocenter', 'zugangsvoraussetzungen'); ?> <?php echo $studiengang_kurzbz; ?> - <?php echo $studiengang_bezeichnung; ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="data">
|
||||
<?php if (empty($data)): ?>
|
||||
Keine Zugangsvoraussetzungen für den Studiengang definiert
|
||||
<?php
|
||||
<?php echo $this->p->t('infocenter', 'keineZugangsvoraussetzungenTxt'); ?>
|
||||
<?php
|
||||
else:
|
||||
echo json_decode($data);
|
||||
endif;
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[3] ?>">
|
||||
<div class="form-group"><label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('person','nation') . ':'?></label>
|
||||
<div class="form-group"><label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('person', 'nation') . ':'?></label>
|
||||
<?php
|
||||
if ($infoonly)
|
||||
echo $zgvpruefung->zgvmanation_bez;
|
||||
@@ -220,7 +220,7 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-left">
|
||||
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'letzteZgvUebernehmen') ?>
|
||||
<?php echo $this->p->t('infocenter', 'letzteZgvUebernehmen') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-xs-6 text-right">
|
||||
@@ -248,7 +248,7 @@
|
||||
class="d-inline float-right"
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo $this->p->t('infocenter', 'absagegrund', array($this->p->t('global', 'waehlen'))) . '...' ?>
|
||||
selected="selected"><?php echo ucfirst($this->p->t('infocenter', 'absagegrund')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($statusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
@@ -322,7 +322,7 @@
|
||||
data-toggle="modal"
|
||||
data-target="#freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -339,10 +339,10 @@
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="freigabeModalLabel">
|
||||
<?php echo $this->p->t('global', 'freigabeBestaetigen') ?></h4>
|
||||
<?php echo $this->p->t('infocenter', 'freigabeBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigebenTxt') ?>
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigebenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
@@ -352,7 +352,7 @@
|
||||
<a href="../saveFreigabe/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<button type="button"
|
||||
class="btn btn-primary">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -95,7 +95,7 @@ function _generateJSPhrasesStorageObject($phrases)
|
||||
|
||||
$toPrint = "\n";
|
||||
$toPrint .= '<script type="text/javascript">';
|
||||
$toPrint = "\n";
|
||||
$toPrint .= "\n";
|
||||
$toPrint .= 'var FHC_JS_PHRASES_STORAGE_OBJECT = '.$ci->pj->getJSON();
|
||||
$toPrint .= "\n";
|
||||
$toPrint .= '</script>';
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
<div>
|
||||
<span class="filter-options-span">
|
||||
Filter description:
|
||||
<?php echo ucfirst($this->p->t('global', 'beschreibung')); ?>:
|
||||
</span>
|
||||
<span>
|
||||
<input type="text" id="customFilterDescription" value="">
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<input type="button" id="saveCustomFilterButton" value="Save filter">
|
||||
<input type="button" id="saveCustomFilterButton" value="<?php echo ucfirst($this->p->t('ui', 'speichern')); ?>">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<div>
|
||||
<span class="filter-options-span">
|
||||
Add field:
|
||||
<?php echo ucfirst($this->p->t('filter', 'feldHinzufuegen')); ?>:
|
||||
</span>
|
||||
|
||||
<span>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div>
|
||||
<span class="filter-options-span">
|
||||
Add filter:
|
||||
<?php echo ucfirst($this->p->t('filter', 'filterHinzufuegen')); ?>:
|
||||
</span>
|
||||
|
||||
<span>
|
||||
@@ -12,6 +12,6 @@
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<input id="applyFilter" type="button" value="Apply filter">
|
||||
<input id="applyFilter" type="button" value="<?php echo ucfirst($this->p->t('global', 'hinzufuegen')); ?>">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user