aboutsummaryrefslogtreecommitdiff
path: root/po/it
Commit message (Expand)AuthorAge
* Update po files, minetest.conf.example and settings_translation_file.cppest312016-02-27
* Translated using Weblate (Italian)Paolo DGZ2016-02-27
* Translated using Weblate (Italian)Paolo DGZ2016-01-25
* Translated using Weblate (Italian)Gianluca Luparini2015-12-22
* Translated using Weblate (Italian)Luca Argentieri2015-12-21
* Translated using Weblate (Italian)Andrea Di Pietro Ulla2015-12-21
* Translated using Weblate (Italian)LelixSuperHD2015-11-15
* Run util/updatepo.shest312015-11-08
* Translated using Weblate (Italian)Elia Argentieri2015-11-08
* Translated using Weblate (Italian)betacentury2015-11-08
* Translated using Weblate (Italian)Elia Argentieri2015-11-08
* Translated using Weblate (Italian)PilzAdam2015-11-08
* Run updatepo.shest312015-10-24
* Run updatepo.shest312015-09-12
* Translated using Weblate (Italian)betacentury2015-09-12
* Translated using Weblate (Italian)betacentury2015-09-12
* Run updatepo.shest312015-07-17
* Translated using Weblate (Italian)Michal Čihař2015-07-17
* Revert "Update Russian translation"Kahrl2014-12-13
* Update po filesShadowNinja2014-12-12
* Update Italian translationEnki2014-12-12
* Translated using Weblate (Italian)King Artur2014-02-16
* Run updatepo.shPilzAdam2013-11-23
* Run updatepo.shIlya Zhuravlev2013-09-08
* Run util/updatepo.shPilzAdam2013-08-25
* Fix i18n of some strings.arsdragonfly2013-07-02
* Update po filesPilzAdam2013-05-13
* Translated using Weblate (Italian)Fabio Luongo2013-03-31
* Update po filesPilzAdam2013-03-30
* Translated using Weblate (Italian)Fabio Luongo2013-03-30
* Translated using Weblate (Italian)Pilz Adam2013-02-10
* Translated using Weblate (Italian)pandoro almascarpone2013-02-09
* Merge remote branch 'origin/master'Weblate2013-02-02
|\
| * Translate key functions in key change menuPilzAdam2013-01-30
* | Translated using Weblate (Italian)Robert Arkenin2013-02-02
|/
* Update translation filesPerttu Ahola2013-01-23
* Some more Italian translationsGiuseppe Bilotta2011-08-05
* update op PO filesConstantin Wenger2011-08-05
* set some more text to gettext and updated po filesConstantin Wenger2011-07-30
* Italian translationsGiuseppe Bilotta2011-07-24
ass="hl opt">::string &name, float value) { JMutexAutoLock lock(m_mutex); { /* No average shall have been used; mark add used as -2 */ std::map<std::string, int>::iterator n = m_avgcounts.find(name); if(n == m_avgcounts.end()) m_avgcounts[name] = -2; else{ if(n->second == -1) n->second = -2; assert(n->second == -2); } } { std::map<std::string, float>::iterator n = m_data.find(name); if(n == m_data.end()) m_data[name] = value; else n->second += value; } } void avg(const std::string &name, float value) { JMutexAutoLock lock(m_mutex); { std::map<std::string, int>::iterator n = m_avgcounts.find(name); if(n == m_avgcounts.end()) m_avgcounts[name] = 1; else{ /* No add shall have been used */ assert(n->second != -2); n->second = MYMAX(n->second, 0) + 1; } } { std::map<std::string, float>::iterator n = m_data.find(name); if(n == m_data.end()) m_data[name] = value; else n->second += value; } } void clear() { JMutexAutoLock lock(m_mutex); for(std::map<std::string, float>::iterator i = m_data.begin(); i != m_data.end(); ++i) { i->second = 0; } m_avgcounts.clear(); } void print(std::ostream &o) { printPage(o, 1, 1); } void printPage(std::ostream &o, u32 page, u32 pagecount) { JMutexAutoLock lock(m_mutex); u32 minindex, maxindex; paging(m_data.size(), page, pagecount, minindex, maxindex); for(std::map<std::string, float>::iterator i = m_data.begin(); i != m_data.end(); ++i) { if(maxindex == 0) break; maxindex--; if(minindex != 0) { minindex--; continue; } std::string name = i->first; int avgcount = 1; std::map<std::string, int>::iterator n = m_avgcounts.find(name); if(n != m_avgcounts.end()){ if(n->second >= 1) avgcount = n->second; } o<<" "<<name<<": "; s32 clampsize = 40; s32 space = clampsize - name.size(); for(s32 j=0; j<space; j++) { if(j%2 == 0 && j < space - 1) o<<"-"; else o<<" "; } o<<(i->second / avgcount); o<<std::endl; } } typedef std::map<std::string, float> GraphValues; void graphAdd(const std::string &id, float value) { JMutexAutoLock lock(m_mutex); std::map<std::string, float>::iterator i = m_graphvalues.find(id); if(i == m_graphvalues.end()) m_graphvalues[id] = value; else i->second += value; } void graphGet(GraphValues &result) { JMutexAutoLock lock(m_mutex); result = m_graphvalues; m_graphvalues.clear(); } void remove(const std::string& name) { JMutexAutoLock lock(m_mutex); m_avgcounts.erase(name); m_data.erase(name); } private: JMutex m_mutex; std::map<std::string, float> m_data; std::map<std::string, int> m_avgcounts; std::map<std::string, float> m_graphvalues; }; enum ScopeProfilerType{ SPT_ADD, SPT_AVG, SPT_GRAPH_ADD }; class ScopeProfiler { public: ScopeProfiler(Profiler *profiler, const std::string &name, enum ScopeProfilerType type = SPT_ADD): m_profiler(profiler), m_name(name), m_timer(NULL), m_type(type) { if(m_profiler) m_timer = new TimeTaker(m_name.c_str()); } // name is copied ScopeProfiler(Profiler *profiler, const char *name, enum ScopeProfilerType type = SPT_ADD): m_profiler(profiler), m_name(name), m_timer(NULL), m_type(type) { if(m_profiler) m_timer = new TimeTaker(m_name.c_str()); } ~ScopeProfiler() { if(m_timer) { float duration_ms = m_timer->stop(true); float duration = duration_ms / 1000.0; if(m_profiler){ switch(m_type){ case SPT_ADD: m_profiler->add(m_name, duration); break; case SPT_AVG: m_profiler->avg(m_name, duration); break; case SPT_GRAPH_ADD: m_profiler->graphAdd(m_name, duration); break; } } delete m_timer; } } private: Profiler *m_profiler; std::string m_name; TimeTaker *m_timer; enum ScopeProfilerType m_type; }; #endif