Skip to content

Commit

Permalink
Added translation and js translation.
Browse files Browse the repository at this point in the history
  • Loading branch information
jonatlib committed Nov 6, 2012
1 parent e5171c7 commit 349c70a
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 53 deletions.
53 changes: 53 additions & 0 deletions module/Application/language/cs_CZ.php
Expand Up @@ -98,6 +98,59 @@
'Delete category' => 'Smazat kategorii',
'Calculator' => 'Kalkulátor',
'Perday' => 'Na den',
'Sunday' => 'Neděle',
'Monday' => 'Pondělí',
'Tuesday' => 'Úterý',
'Wednesday' => 'Středa',
'Thursday' => 'Čtvrtek',
'Friday' => 'Pátek',
'Saturday' => 'Sobota',
'Sun' => 'Ned',
'Mon' => 'Pon',
'Tue' => 'Úte',
'Wed' => 'Stř',
'Thu' => 'Čtv',
'Fri' => 'Pát',
'Sat' => 'Sob',
'Su' => 'Ne',
'Mo' => 'Po',
'Tu' => 'Út',
'We' => 'St',
'Th' => 'Čt',
'Fr' => 'Pá',
'Sa' => 'So',
'January' => 'Leden',
'February' => 'Únor',
'March' => 'Březen',
'April' => 'Duben',
'May' => 'Květen',
'June' => 'Červen',
'July' => 'Červenec',
'August' => 'Srpen',
'September' => 'Září',
'October' => 'Říjen',
'November' => 'Listopad',
'December' => 'Prosinec',
'Jan' => 'Led',
'Feb' => 'Úno',
'Mar' => 'Bře',
'Apr' => 'Dub',
'May' => 'Kvě',
'Jun' => 'Červ',
'Jul' => 'Čerc',
'Aug' => 'Srp',
'Sep' => 'Zář',
'Oct' => 'Říj',
'Nov' => 'Lis',
'Dec' => 'Pro',
'wk' => 'Tý',
'Preparing data...' => 'Připravuji data...',
'Date' => 'Datum',
'Money spend by this month.' => 'Peníze utracené za tento měsíc.',
'Money spend by for last 30 days.' => 'Peníze utracené za posledních 30 dní.',
'Money spend by category for last 30 days.' => 'Peníte utracené na kategorie za 30 dní.',
'Money summary for last 30 days.' => 'Souhrn za posledních 30 dní.',
'Select date range' => 'Vyberte časové období',

// '' => '',
// '' => '',
Expand Down
78 changes: 51 additions & 27 deletions module/Application/src/Application/Controller/AjaxController.php
Expand Up @@ -12,82 +12,106 @@ class AjaxController extends AbstractActionController {
*/
protected $auth;
protected $userId;

/**
* @var \Application\Model\Money
*/
protected $model;

public function indexAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthCategorySummary();
return $view;
}
public function summaryAction(){

public function summaryAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthSumary();
return $view;
}
public function moneyAction(){

public function moneyAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthMoney();
return $view;
}
public function spendingAction(){

public function spendingAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthSpending();
return $view;
}
public function earningAction(){

public function earningAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthEarning();
return $view;
}
public function spendingcategoryAction(){

public function spendingcategoryAction() {
$view = new JsonModel();
$view->data = $this->model->getMonthSpendingByCategory();
return $view;
}
public function linegraphAction(){

public function linegraphAction() {
$view = new JsonModel();
$data = array('Date' => array('Date'));

$d = $this->model->getMonthSpendingByCategory()->toArray();
foreach($d as $val){
if(!in_array($val['categName'], $data['Date']))
foreach ($d as $val) {
if (!in_array($val['categName'], $data['Date']))
$data['Date'][] = $val['categName'];
}
foreach($d as $val){
foreach ($d as $val) {
$index = array_search($val['categName'], $data['Date']);
if(empty($data[$val['date']])){
foreach($data['Date'] as $i => $v) $data[$val['date']][$i] = 0;
if (empty($data[$val['date']])) {
foreach ($data['Date'] as $i => $v)
$data[$val['date']][$i] = 0;
$data[$val['date']][0] = $val['date'];
}
$data[$val['date']][$index] = (int) abs($val['sumary']);
}
$view->data = array_values($data);
return $view;
}
public function translateAction(){

public function dictionaryAction(){
$view = new JsonModel();
/* @var $translator \Application\Library\I18n\Translator\Translator */
$translator = $this->serviceLocator->get('translator');

if(isset($_GET['text']) && !empty($_GET['text'])){
//FIXME get dictionary from translator
$locale = $translator->getLocale();
$dictionary = function()use($locale){
return require __DIR__ . "/../../../language/{$locale}.php";
};
$view->dictionary = $dictionary();
return $view;
}

public function translateAction() {
$view = new JsonModel();
$get = $this->params()->fromQuery('text', null);
if (!empty($get)) {
$translator = $this->serviceLocator->get('translator');
$view->text = $translator->translate($_GET['text']);
}else{
if (is_array($get)) {
$result = array();
foreach($get as $g){
$result[] = $translator->translate($g);
}
$view->text = $result;
} else {
$view->text = $translator->translate($get);
}
} else {
$view->text = 'unknown';
}

return $view;
}
public function init(){

public function init() {
$this->auth = new \Zend\Authentication\AuthenticationService();
$this->userId = $this->auth->getIdentity()->id;
$this->model = $this->getServiceLocator()->get('\Application\Model\Money');
Expand Down
73 changes: 54 additions & 19 deletions public/layout/js/application.js
@@ -1,17 +1,52 @@
function m_translate(text, handle){
$.ajax({
url: baseUrl + 'ajax/translate',
method: 'get',
data: {text: text},
cache: true,
async: true,
success: function(data){
if(data['text'] == undefined){
handle('unknown');
function m_translate_dictionary(handle, async){
if(async === undefined){ async = true; }
if(m_translate_dictionary.dic === undefined){
$.ajax({
url: baseUrl + 'ajax/dictionary',
method: 'get',
cache: true,
async: async,
success: function(data){
if(data['dictionary'] == undefined){ handle([]); }
m_translate_dictionary.dic = data['dictionary'];
handle(data['dictionary']);
}
handle(data['text']);
});
}else{
handle(m_translate_dictionary.dic);
}
}

function m_translate_dictionary_text(text, handle, async){
m_translate_dictionary(function(data){
if(data[text]){
handle(data[text]);
}else{
handle(text);
}
});
}, async);
}

function m_translate(text, handle, async){
m_translate_dictionary_text(text, handle, async);
// if(async === undefined){ async = true; }
// $.ajax({
// url: baseUrl + 'ajax/translate',
// method: 'get',
// data: {text: text},
// cache: true,
// async: async,
// success: function(data){
// if(data['text'] == undefined){ handle('unknown'); }
// handle(data['text']);
// }
// });
}

function m_synchrone_translate(text){
var res = '';
m_translate(text, function(data){ res = data; }, false);
return res;
}

function scrollSideBar(){
Expand Down Expand Up @@ -88,12 +123,12 @@ function initDatePicker(){
mode: 'range',
starts: 1,
locale: {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
weekMin: 'wk'
days: m_synchrone_translate(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]),
daysShort: m_synchrone_translate(["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]),
daysMin: m_synchrone_translate(["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]),
months: m_synchrone_translate(["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]),
monthsShort: m_synchrone_translate(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]),
weekMin: m_synchrone_translate('wk')
},
onChange: function(formated) {
$('#widgetField div').get(0).innerHTML = formated.join(' - ');
Expand Down Expand Up @@ -128,7 +163,7 @@ function initConfirm(){

$(function(){
initConfirm();
// initDatePicker();
initDatePicker();
scrollSideBar();
setTimeout(cleanAlerts, 3000);
initDropDown();
Expand Down
15 changes: 8 additions & 7 deletions public/layout/js/charts.js
Expand Up @@ -5,7 +5,8 @@ google.load('visualization', '1.0', {
google.setOnLoadCallback(drawChart);

function createChart(options, url, callbackData, id, chartType){
$('#' + id).html('<span class="info">Preparing data...</span>');
$('#' + id).html('<span class="info">' + m_synchrone_translate('Preparing data...') + '</span>');
options['title'] = m_synchrone_translate(options['title']);
$.ajax({
url: baseUrl + url,
method: 'get',
Expand Down Expand Up @@ -38,8 +39,8 @@ function summaryChart(){
'pointSize' : 3
}, 'ajax/money', function(data){
var dchart = new google.visualization.DataTable();
dchart.addColumn('string', 'Date');
dchart.addColumn('number', 'Summary');
dchart.addColumn('string', m_synchrone_translate('Date') );
dchart.addColumn('number', m_synchrone_translate('Summary') );
var rows = [];
$.each(data, function(k, v){
rows.push([ v['date'], parseInt(v['sumary']) ]);
Expand All @@ -57,8 +58,8 @@ function spendingChart(){
'colors' : ['a00']
}, 'ajax/spending', function(data){
var dchart = new google.visualization.DataTable();
dchart.addColumn('string', 'Date');
dchart.addColumn('number', 'Summary');
dchart.addColumn('string', m_synchrone_translate('Date') );
dchart.addColumn('number', m_synchrone_translate('Summary') );
var rows = [];
$.each(data, function(k, v){
rows.push([ v['date'], Math.abs(v['sumary']) ]);
Expand Down Expand Up @@ -90,8 +91,8 @@ function groupsChart(){
'height':200
}, 'ajax/index', function(data){
var dchart = new google.visualization.DataTable();
dchart.addColumn('string', 'Date');
dchart.addColumn('number', 'Summary');
dchart.addColumn('string', m_synchrone_translate('Date') );
dchart.addColumn('number', m_synchrone_translate('Summary') );
var rows = [];
$.each(data, function(k, v){
rows.push([ v['categName'], Math.abs(v['sumary']) ]);
Expand Down

0 comments on commit 349c70a

Please sign in to comment.