type; // Caveat: if load_%_textdomain is called later on with a custom (author) path, it will be ignored. break; } } } return $path; } /** * Triggers a new round of load_translation_file attempts. */ public function on_load_textdomain( $domain, $mofile ){ if( isset($this->lock[$domain]) ){ // may be recursion for our custom file if( $this->lock[$domain] === $mofile ){ return; } // else a new file, so release the lock unset($this->lock[$domain]); } // flag whether the original MO file (or a valid sibling) exists for this load. // we could check this during filter_load_translation_file but this saves doing it multiple times $this->mofile = self::try_readable($mofile); // Setting the domain just in case someone is applying filters manually in a strange order $this->domain = $domain; // If load_textdomain was called directly with a custom file we'll have missed it if( 'default' !== $domain ){ $path = dirname($mofile).'/'; if( ! array_key_exists($path,$this->custom) ){ $this->resolveType($path); } } $this->seen[$domain] = true; } /** * Filter callback for `load_translation_file` * Called from {@see load_textdomain} multiple times for each file format in preference order. */ public function filter_load_translation_file( $file, $domain, $locale ){ // domain mismatch would be unexpected during normal execution, but anyone could apply filters. if( $domain !== $this->domain ){ return $file; } // skip recursion for our own custom file: if( isset($this->lock[$domain]) ){ return $file; } // loading a custom file directly is fine, although above lock will prevent in normal situations $path = dirname($file).'/'; $custom = trailingslashit( loco_constant('LOCO_LANG_DIR') ); if( $path === $custom || str_starts_with($file,$custom) ){ return $file; } // map system file to custom location if possible. e.g. languages/foo => languages/loco/foo // this will account for most installed translations which have been customized. $system = trailingslashit( loco_constant('WP_LANG_DIR') ); if( str_starts_with($file,$system) ){ $mapped = substr_replace($file,$custom,0,strlen($system) ); } // custom path may be author location, meaning it's under plugin or theme directories else if( array_key_exists($path,$this->custom) ){ $ext = explode( '.', basename($file), 2 )[1]; $mapped = $custom.$this->custom[$path].'/'.$domain.'-'.$locale.'.'.$ext; } // otherwise we'll assume the custom path is not intended to be further customized. else { return $file; } // When the original file isn't found, calls to load_textdomain will return false and overwrite our custom file. // Here we'll simply return our mapped version, whether it exists or not. WordPress will treat is as the original. if( '' === $this->mofile ){ return $mapped; } // We know that the original file will eventually be found (even if via a second file attempt) // This requires a recursive call to load_textdomain for our custom file, WordPress will handle if it exists. $mapped = self::to_mopath($mapped); $this->lock[$domain] = $mapped; load_textdomain( $domain, $mapped, $locale ); /*/ Sanity check that original file does exist, and it's the one we're expecting: if( '' === self::try_readable($file) || self::to_mopath($file) !== $this->mofile ){ throw new LogicException; }*/ // Return original file, which we've established does exist, or if it doesn't another extension might return $file; } /** * Resolve a custom directory path to either a theme or a plugin * @param string $path directory path with trailing slash */ private function resolveType( string $path ):void { // no point trying to resolve a relative path, this likely stems from bad call to load_textdomain if( ! Loco_fs_File::is_abs($path) ){ return; } // custom location is likely to be inside a theme or plugin, but could be anywhere if( Loco_fs_Locations::getPlugins()->check($path) ){ $this->custom[$path] = 'plugins'; } else if( Loco_fs_Locations::getThemes()->check($path) ){ $this->custom[$path] = 'themes'; } // folder could be plugin-specific, e.g. languages/woocommerce, // but this won't be merged with custom because it IS custom. } /** * Fix any file extension to use .mo */ private static function to_mopath( string $path ):string { if( str_ends_with($path,'.mo') ){ return $path; } // path should only be a .l10n.php file, but could be something custom return dirname($path).'/'.explode('.', basename($path),2)[0].'.mo'; } /** * Check .mo or .php file is readable, and return the .mo file if so. * Note that load_textdomain expects a .mo file, even if it ends up using .l10n.php */ private static function try_readable( string $path ):string { $mofile = self::to_mopath($path); if( is_readable($mofile) || is_readable(substr($path,0,-2).'l10n.php') ){ return $mofile; } return ''; } // JSON // /** * `load_script_translation_file` filter callback * Alternative method to merging in `pre_load_script_translations` * @param string $path candidate JSON file (false on final attempt) * @param string $handle */ public function filter_load_script_translation_file( $path = '', $handle = '' ) { // currently handle-based JSONs for author-provided translations will never map. if( is_string($path) && preg_match('/^-[a-f0-9]{32}\\.json$/',substr($path,-38) ) ){ $system = loco_constant('WP_LANG_DIR').'/'; $custom = loco_constant('LOCO_LANG_DIR').'/'; if( str_starts_with($path,$system) ){ $mapped = substr_replace($path,$custom,0,strlen($system) ); // Defer merge until either JSON is resolved or final attempt passes an empty path. if( is_readable($mapped) ){ $this->json[$handle] = $mapped; } } } // If we return an unreadable file, load_script_translations will not fire. // However, we need to allow WordPress to try all files. Last attempt will have empty path else if( false === $path && array_key_exists($handle,$this->json) ){ $path = $this->json[$handle]; unset( $this->json[$handle] ); } return $path; } /** * `load_script_translations` filter callback. * Merges custom translations on top of installed ones, as late as possible. * * @param string $json contents of JSON file that WordPress has read * @param string $path path relating to given JSON (not used here) * @param string $handle script handle for registered merge * @return string final JSON translations */ public function filter_load_script_translations( $json = '', $path = '', $handle = '' ) { if( array_key_exists($handle,$this->json) ){ $path = $this->json[$handle]; unset( $this->json[$handle] ); if( is_string($json) && '' !== $json ){ $json = self::mergeJson( $json, file_get_contents($path) ); } else { $json = file_get_contents($path); } } return $json; } /** * Merge two JSON translation files such that custom strings override * @param string $json Original/fallback JSON * @param string $custom Custom JSON (must exclude empty keys) * @return string Merged JSON */ private static function mergeJson( string $json, string $custom ):string { $fallbackJed = json_decode($json,true); $overrideJed = json_decode($custom,true); if( self::jedValid($fallbackJed) && self::jedValid($overrideJed) ){ // Original key is probably "messages" instead of domain, but this could change at any time. // Although custom file should have domain key, there's no guarantee JSON wasn't overwritten or key changed. $overrideMessages = current($overrideJed['locale_data']); $fallbackMessages = current($fallbackJed['locale_data']); // We could merge headers, but custom file should be correct // $overrideMessages[''] += $fallbackMessages['']; // Continuing to use "messages" here as per WordPress. Good backward compatibility is likely. // Note that our custom JED is sparse (exported with empty keys absent). This is essential for + operator. $overrideJed['locale_data'] = [ 'messages' => $overrideMessages + $fallbackMessages, ]; // Note that envelope will be the custom one. No functional difference but demonstrates that merge worked. $overrideJed['merged'] = true; $json = json_encode($overrideJed); } // Handle situations where one or neither JSON strings are valid else if( self::jedValid($overrideJed) ){ $json = $custom; } else if( ! self::jedValid($fallbackJed) ){ $json = ''; } return $json; } /** * Test if unserialized JSON is a valid JED structure * @param mixed $jed */ private static function jedValid( $jed ):bool { return is_array($jed) && array_key_exists('locale_data',$jed) && is_array($jed['locale_data']) && $jed['locale_data']; } // Debug // /** * Alert to the early JIT loading issue for any text domain queried before we've seen it be loaded. */ private function handle_unseen_textdomain( $domain ){ if( ! array_key_exists($domain,$this->seen) ){ $this->seen[$domain] = true; do_action('loco_unseen_textdomain',$domain); } } /** * `gettext` filter callback. Enabled only in Debug mode. */ public function debug_gettext( $translation = '', $text = '', $domain = '' ){ $this->handle_unseen_textdomain($domain?:'default'); return $translation; } /** * `ngettext` filter callback. Enabled only in Debug mode. */ public function debug_ngettext( $translation = '', $single = '', $plural = '', $number = 0, $domain = '' ){ $this->handle_unseen_textdomain($domain?:'default'); return $translation; } /** * `gettext_with_context` filter callback. Enabled only in Debug mode. */ public function debug_gettext_with_context( $translation = '', $text = '', $context = '', $domain = '' ){ $this->handle_unseen_textdomain($domain?:'default'); return $translation; } /** * `ngettext_with_context` filter callback. Enabled only in Debug mode. */ public function debug_ngettext_with_context( $translation = '', $single = '', $plural = '', $number = 0, $context = '', $domain = '' ){ $this->handle_unseen_textdomain($domain?:'default'); return $translation; } } Dôvody prečo ľudia neznášajú pondelky - online magazín Pekný deň
Home Ľudia a Život Dôvody prečo ľudia neznášajú pondelky

Dôvody prečo ľudia neznášajú pondelky

by spravca
Dôvody prečo ľudia neznášajú pondelky

Ak pracujete podľa štandardného režimu pondelok až piatok, asi patríte k ľuďom, ktorí z celého srdca nenávidia pondelky. Je to deň, ktorý spôsobuje najsilnejšie negatívne emócie, stres, apatiu a niekedy aj úzkosť. Dali sme dokopy niekoľko dôvodov, prečo pondelok ľudia neznášajú.

Cez víkend nemáte čas na oddych

Hlavným dôvodom vašej nenávisti je pravdepodobne to, že počas dvoch dní voľna nemáte čas úplne relaxovať. Na to, aby ste sa dostatočne vyspali, venovali sa svojim koníčkom, videli svojich blízkych a ešte stihli porobiť všetky domáce práce, ktoré ste cez týždeň odkladali, vám sobota a nedeľa stačiť nebudú.

Existuje jedna možnosť, ako sa zo situácie dostať. Prestaňte plánovať veľa vecí na koniec týždňa. Je lepšie rovnomerne rozdeliť svoje úlohy a snažiť sa mať čas na ich dokončenie počas pracovných dní. Môžete si tak aspoň trochu uvoľniť víkend, aby ste si normálne oddýchli a strávili čas niečím príjemným.

Musíte ísť do práce

Kde zobrať motiváciu, silu a dobrú náladu v pondelok, ak musíte ísť do práce, ktorú neznášate? Bohužiaľ, toto je bežný problém väčšiny ľudí. Ak pracujete na mieste, ktoré vás nebaví a robíte niečo, čo vás vôbec nezaujíma, každý pondelok vnímate ako ďalší koniec sveta. Nežijete, ale doslova prežívate, chováte v sebe úprimnú nenávisť k všedným dňom a počítate hodiny do víkendu.

Skúste si nájsť niečo, čo vám bude viac vyhovovať, alebo si aspoň jasne formulujte prečo chodíte do práce, ktorú neznášate. Aby ste sa mohli radovať z toho príjemného čo získate vďaka tomu, že chodíte do práce.

Je pre vás ťažké zapadnúť do pracovného rytmu

Po víkende môže byť mimoriadne ťažké zapojiť sa do pracovného rytmu, sústrediť sa na dôležité veci a presvedčiť sa, že zvyšok je už za nami. Vaše myšlienky zamestnáva všetko okrem práce, najradšej diskutujete o najnovších správach s kolegami, rolujete v feede na sociálnych sieťach, snívate o dovolenke. Váš mozog sa jednoducho nezapne bez ohľadu na to, ako veľmi sa snažíte. Prirodzene, v takomto stave sa vám bude ťažko pracovať. Na porovnanie, uprostred týždňa, keď ste už zvyknutí na neustále plnenie pracovných povinností, sa budete cítiť oveľa lepšie.

Máte priveľa práce

Pondelok je obľúbeným dňom na plánovanie dôležitých stretnutí, obchodných rokovaní, zostavovanie pracovného plánu na týždeň atď. Takáto záťaž po víkende je neskutočne otravná: ešte nie ste psychicky ani fyzicky pripravení vrhnúť sa na riešenie pracovných problémov. Ale všetkým naokolo nezáleží na vašom stave a každý od vás vyžaduje maximálne zapojenie. Môžete zmierniť svoju nenávisť k pondelkom, jednoducho neriešte všetko naraz. Skúste k problému pristupovať ako stratég a rovnomerne si rozdeľte pracovné úlohy na týždeň, aby ste sa v prvý deň nepreťažili.

Nie ste vopred pripravený na pondelok

Možno sa psychicky pripravujete na to, že v pondelok idete do práce, no musíte uznať, že málokedy podniknete nejaké kroky, aby ste si uľahčili prvý deň v týždni. Ak si neurobíte poriadok vopred, nepripravíte si oblečenie na ráno, nemyslíte na skoré vstávanie pred večerným posedením, potom sa pondelok zvrtne a je pre vás prakticky synonymom zbytočného stresu a starostí. Premyslite si viac víkend, bavte sa v piatok a sobotu a nedeľu si vyhraďte na dobrý spánok, relax a správne naladenie.

Zažívate vyhorenie

Prvý deň v týždni môžete úprimne nenávidieť, pretože ste zvyknutí tvrdo pracovať a veľmi málo oddychovať. Jednoducho sa nevenujete iným oblastiam života, a tak je vysoké riziko, že sa u vás rozvinie alebo už máte rozvinuté vyhorenie. Pamätajte na jednu dôležitú vec, aj keď máte šťastie a vašu prácu skutočne milujete, stále si musíte vedieť oddýchnuť. Nenarušujte rovnováhu medzi pracovným a osobným životom. V opačnom prípade budete každý pondelok cítiť potrebu spomaliť, prehodnotiť svoje názory na okolitú realitu a nakoniec obnoviť vnútorné zdroje.

You may also like