https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_b964594d3d957944241961017b9eb19bf02834de44cce93d8e67dd306852dbe346167181e455e33d5268ea01d973d77bb056848546f31794f31a4c31a9da5aa3.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_09f62869dbd00446535ebe8e270406331e6f0ae459deba58094caeadc22d58825ffc99f8c217b496ec112cbb1da8b662d77b0f52eae24cc5631f95695e40d87b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_e6b7e0bf68aa4a61d5c6a0065ec42e38a0cc53e39a4fbee057b72d4b2297b37c01e716e1e61bac7f240b5a0edbb178d37b62f7ed4ea4ea3d10e46dbe7429f326.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bfff9e63e857e9ee612e292d4a6edf3ced64d6a756925c953a9d8f77845ff601eca64d73dfa48756b1a9f4a4d6de6127a273bcde16ddeb71a22383460f4e94b0.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4dd7e1d73ae5eda35ed5ad6aa965b612dbf483ece3ca50c1e8e30ad8dff1c66a160ed75e958e2db399661d229874783e0834ad813a479437035666b8e9e3386.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4fce0769137d4cd096989b0349bc3c2bbfca79ac311fdf714c41ab24d87551c7b49b756c8a8de090b0714a0ad0560e49fa532ba5a88875ea4afd78efac464df6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85cec8b07d60426b11040e471babca0d2f9c8dc87a9b56e06cad39828f7f67179e29609100f282a574872c9a93fb635b25416300eb4c97bc5a653d00cf6f8dbf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_6768e5a27d4d357347338621c0d20bd269b126d30eec796193390f2f530fbaea60af84130c46f9786114be65149e661e87d55c339219c90aa76396d7e5b734ef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_2acd6bdff3b680341e8c727da5169a647123eb8fd0a90253161b4c3af272c15d293bf9bb217008bb13f84d1910b0e166798001f8603b6c026d5c20a76c41d47c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_3905b4161d6291204b31a57d1f6742b83b683165ad8747416e02c945f4b8951e5fea93369699a2798cf653283c3069d77383743321dcd0ee128a2e4d1b0bad0f.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_268c9bba6ba649318f0da28c37b09a9bbfa371210f9b6b52faa7fd8ae94abf6b3c3bfeb5df5705c93495ce1152ca58aeabc435d6c6c1bd959025165c3f50e086.js
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Featured
    • Advanced Python Topics
    • AWS Learning Roadmap
    • JWT Complete Guide
    • Git CheatSheet
  • Explore
    • Programming
    • Development
      • microservices
      • Front End
    • Database
    • DevOps
    • Productivity
    • Tutorial Series
      • C# LinQ Tutorials
      • PHP Tutorials
  • Dev Tools
    • JSON Formatter
    • Diff Checker
    • JWT Decoder
    • JWT Generator
    • Base64 Converter
    • Data Format Converter
    • QR Code Generator
    • Javascript Minifier
    • CSS Minifier
    • Text Analyzer
  • About
  • Contact
CodeSamplez.com

CodeSamplez.com

Programming And Development Resources

You are here: Home / Programming / PHP i18n: The Ultimate Guide To Internationalization in PHP

PHP i18n: The Ultimate Guide To Internationalization in PHP

Updated May 13, 2025 by Rana Ahsan 5 Comments ⏰ 8 minutes

PHP i18n

I’ve been developing PHP applications for years, and I can tell you with absolute certainty that internationalization is no longer optional – it’s essential. PHP i18n (where “i18n” stands for the 18 letters between “i” and “n” in “internationalization”) transforms your local app into a global powerhouse that can speak multiple languages.

Creating multilingual applications opens your product to entirely new markets. And trust me, it’s much easier to implement from the start than to retrofit later!

In this guide, I’ll walk you through everything you need to implement PHP internationalization properly. I’ve used these exact techniques across dozens of projects, including WordPress plugins with multilingual support.

Prerequisites: Setting Up Your PHP Environment

Before diving in, you need to ensure your PHP environment supports i18n. The critical requirement is having the gettext extension installed and enabled.

Checking for Gettext Support

<?php
// Quick check if gettext is installed
if (function_exists('gettext')) {
    echo "Gettext is installed! You're good to go.";
} else {
    echo "Gettext is NOT installed. You'll need to enable it first.";
}

// Alternatively, check through phpinfo()
phpinfo();
?>Code language: HTML, XML (xml)

If you’re using MAMP, XAMPP, or similar development stacks, gettext is typically enabled by default. For manual PHP installations, you might need to recompile PHP with gettext support according to the PHP documentation.

Basic PHP i18n Setup: The Foundation

Let’s build the foundation for our internationalization system. Here’s a practical implementation I’ve used successfully in multiple projects:

<?php
function setLocalization($code) {
    // Define supported language codes with their corresponding locale codes
    $langCodes = array(
        "de" => "de_DE", // German
        "fr" => "fr_FR", // French
        "es" => "es_ES", // Spanish
        "ja" => "ja_JP"  // Japanese
    );
    
    // Validate requested language code
    if(!isset($langCodes[strtolower($code)])) {
        return false; <em>// Invalid language code</em>
    }
    
    // Base directory for language files
    $baseLangDir = './includes/locale';
    
    // Your application's textdomain name
    $appName = "myapp";
    
    // Get full locale code
    $locale = $langCodes[strtolower($code)];
    
    // Set environment language
    putenv('LC_ALL='.$locale);
    
    // Set locale - critical step!
    $localeSet = setlocale(LC_ALL, $locale);
    
    // Verify locale was set correctly
    if ($localeSet === false) {
        // Failed to set locale - check system support
        error_log("Failed to set locale to $locale");
        return false;
    }
    
    // Specify language file location
    bindtextdomain($appName, realpath($baseLangDir));
    
    // Set character encoding for translations
    bind_textdomain_codeset($appName, 'UTF-8');
    
    // Set default textdomain
    textdomain($appName);
    
    return true;
}Code language: PHP (php)

This code handles everything needed to set up PHP internationalization. Let me break down the most important parts:

  1. The language file path is absolutely critical. Each language needs its .mo file in a specific structure: {$baseLangDir}/{$locale}/LC_MESSAGES/{$appName}.mo
  2. The setlocale() function must work correctly. Always check its return value – if it returns false, your system might not support that locale.
  3. For the putenv() function, sometimes using LANG instead of LC_ALL works better depending on your server configuration. Test both if you have issues.
  4. bind_textdomain_codeset ensures your translations use the correct character encoding. Always use UTF-8 for modern applications.

Using i18n in Your Templates and Code

Once your setup is complete, implementing translations in your code is straightforward. Here are the two main methods:

<?php
// Method 1: Full gettext function
echo gettext("Welcome to our website");

// Method 2: Shorthand function (recommended)
echo _("Welcome to our website");
?>Code language: HTML, XML (xml)

In HTML templates, you can use it like this:

<h1><?php echo _("Welcome to our website"); ?></h1>
<p><?php echo _("This text will be translated based on the selected language."); ?></p>Code language: HTML, XML (xml)

For more complex translation scenarios, PHP’s gettext also supports pluralization and context:

<?php
// Basic translation
echo _("You have a new message");

// Pluralization with ngettext
$messageCount = 5;
echo ngettext(
    "You have one new message",
    "You have %d new messages",
    $messageCount
);

// With context (for words with multiple meanings)
echo pgettext("verb", "Post");
echo pgettext("noun", "Post");
?>Code language: HTML, XML (xml)

Creating Language Files: The Heart of Internationalization

The magic of PHP i18n happens through translation files. This is where your translatable strings are mapped to their translations in different languages.

Extracting Translatable Strings

First, we need to extract all translatable strings from our code. The xgettext tool is perfect for this:

xgettext --default-domain=myapp -p ./locale --from-code=UTF-8 -n --omit-header -L PHP /path-to-your-php-files/*.phpCode language: JavaScript (javascript)

This generates a template .pot file containing all your translatable strings.

Creating Translation Files (.po)

For each language, you’ll create a .po file. Here’s an example for French:

# French translation for myapp
msgid ""
msgstr ""
"Project-Id-Version: myapp\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-13 10:46-0500\n"
"PO-Revision-Date: 2024-05-13 12:31-0500\n"
"Last-Translator: Your Name <[email protected]>\n"
"Language-Team: French <[email protected]>\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.1\n"

#: welcome.php:15
msgid "Welcome to our website"
msgstr "Bienvenue sur notre site web"

#: dashboard.php:34
msgid "Hello World"
msgstr "Bonjour le monde"Code language: PHP (php)

Converting to Machine-Readable Format (.mo)

PHP’s gettext uses binary .mo files for performance. Convert your .po files to .mo using:

bashmsgfmt -cv -o myapp.mo myapp.po

Modern Tools for PHP i18n Management

While the process above works, modern tools make PHP internationalization much more manageable:

1. Poedit

Poedit is a fantastic desktop application for creating and managing translation files. It automatically generates the .mo files when you save.

2. Online Translation Management

For team projects, online translation management tools are game-changers:

  • POEditor – Collaborative translation with automation features
  • Transifex – Enterprise-grade translation management
  • Crowdin – Popular for open-source projects

3. Programmatic .mo File Generation

If you need to generate .mo files programmatically, you can use PHP libraries:

<?php
// Using the gettext/gettext library
use Gettext\Translator;
use Gettext\Translations;

// Load translations from a .po file
$translations = Translations::fromPoFile('path/to/fr.po');

// Generate and save the .mo file
$translations->toMoFile('path/to/fr.mo');
?>Code language: HTML, XML (xml)

Troubleshooting Common PHP i18n Issues

Implementing internationalization can sometimes be tricky. Here are solutions to common problems I’ve encountered:

1. Translations Not Working

If your translations aren’t showing up:

  • Check that your .mo files are in the correct location: {$baseLangDir}/{$locale}/LC_MESSAGES/{$appName}.mo
  • Verify file permissions – PHP needs read access to these files
  • Ensure the locale is actually being set (check the return value of setlocale())

2. System Locale Issues

If setlocale() returns false, your system might not have the required locale installed. For Linux servers, you can add locales with:

# Generate locale
sudo locale-gen fr_FR.UTF-8

# Update locale configuration
sudo update-locale

# Verify available locales
locale -aCode language: PHP (php)

For CentOS specifically:

# Navigate to locales directory
cd /usr/share/i18n/locales/

# Define new locale
sudo localedef -c -i fr_FR -f UTF-8 /usr/share/locale/fr_FR

# Add to archive
cd /usr/share/locale/
sudo localedef --add-to-archive fr_FR

# Verify
sudo localedef --list-archiveCode language: PHP (php)

3. Character Encoding Issues

If your translations show up but with garbled characters:

  • Ensure all .po files use UTF-8 encoding
  • Verify you’re calling bind_textdomain_codeset($appName, 'UTF-8')
  • Make sure your HTML templates include <meta charset="UTF-8">

Best Practices for PHP i18n

After years of implementing internationalization across projects, here are my top recommendations:

  1. Start early – Implement i18n from the beginning of your project, not as an afterthought
  2. Use constants for dynamic content – For strings with variables: // Instead of this echo _("Hello") . " " . $username; // Do this printf(_("Hello %s"), $username);
  3. Context is king – Use pgettext() for words with multiple meanings
  4. Avoid string concatenation – Don’t split sentences across multiple gettext() calls
  5. Maintain a glossary – Keep a consistent terminology across translations
  6. Automate extraction – Set up CI/CD to automatically extract translatable strings
  7. Test thoroughly – Some languages expand significantly when translated, breaking your UI

Complete PHP i18n Implementation Example

Let’s put it all together with a complete example:

<?php
// config/i18n.php
function initializeI18n() {
    // Get user's preferred language (from session, cookie, browser, etc.)
    $userLang = getUserLanguagePreference();
    
    // Set up localization
    setLocalization($userLang);
}

function getUserLanguagePreference() {
    // Priority: 1. Session, 2. Cookie, 3. Browser language, 4. Default
    if (isset($_SESSION['user_language'])) {
        return $_SESSION['user_language'];
    }
    
    if (isset($_COOKIE['user_language'])) {
        return $_COOKIE['user_language'];
    }
    
    // Parse Accept-Language header
    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
        $langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
        if (isset($langs[0])) {
            return substr($langs[0], 0, 2); <em>// Get language code (e.g., 'en' from 'en-US')</em>
        }
    }
    
    // Default language
    return 'en';
}

function setLocalization($code) {
    // Implementation from earlier...
}

// Initialize i18n on every page load
initializeI18n();
?>Code language: PHP (php)

With this setup, your application will automatically detect and use the user’s preferred language.

Conclusion: PHP i18n Opens Global Doors

Implementing PHP internationalization is absolutely worth the effort. It opens your application to global markets and provides a better experience for non-English speakers. The techniques I’ve shared here have been battle-tested across countless projects.

Remember, the key to successful i18n is planning ahead and maintaining good practices throughout development. Your future self (and your users) will thank you!

Have you implemented PHP i18n in your projects? What challenges did you face? I’d love to hear about your experiences in the comments below!

Share if liked!

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket

You may also like


Discover more from CodeSamplez.com

Subscribe to get the latest posts sent to your email.

First Published On: March 2, 2014 Filed Under: Programming Tagged With: php

About Rana Ahsan

Rana Ahsan is a seasoned software engineer and technology leader specialized in distributed systems and software architecture. With a Master’s in Software Engineering from Concordia University, his experience spans leading scalable architecture at Coursera and TopHat, contributing to open-source projects. This blog, CodeSamplez.com, showcases his passion for sharing practical insights on programming and distributed systems concepts and help educate others.
Github | X | LinkedIn

Reader Interactions

Comments

  1. Do Xa says

    March 5, 2014 at 11:07 AM

    Now that’s one good tutorial. You should know that it’s also possible to use https://poeditor.com/ to easily translate software online.

    Reply
    • Md Ali Ahsan Rana says

      March 5, 2014 at 11:39 AM

      Thanks for your comment. I already mentioned about the desktop poedit tool already, which definitely do the work, but can’t automate the process. Not sure about this site, can it help in automation? like extract data, translate and give back the mo file?

      Reply
  2. Patrix says

    October 13, 2014 at 8:31 AM

    Hi! I have used the tool POEditor and I can tell you this about how it works: after creating the account, you create a project, import the .po file (or another supported format), translate the strings (just text, no code) by yourself or by collaborating with others (this is a big plus in contrast with a desktop tool like Poedit), and then, when the translation is done, export the file in any format you like that is supported (.mo included).
    Besides giving the obvious ability to manage a collaborative translation project, POEditor has other functions that help automate the software translation process, like Automatic Translation (provided by Bing/Google machine translation engines), Translation Memory and API.

    Reply
  3. Bart says

    January 6, 2015 at 6:23 AM

    There is an error on line , $lang should be $langCodes

    Reply
    • Md Ali Ahsan Rana says

      January 6, 2015 at 10:25 AM

      Thanks for pointing out! I have corrected it.

      Reply

Leave a ReplyCancel reply

Primary Sidebar

  • Facebook
  • X
  • Pinterest
  • Tumblr

Subscribe via Email

Top Picks

python local environment setup

Python Local Development Environment: Complete Setup Guide

In-Depth JWT Tutorial Guide For Beginners

JSON Web Tokens (JWT): A Complete In-Depth Beginners Tutorial

The Ultimate Git Commands CheatSheet

Git Commands Cheatsheet: The Ultimate Git Reference

web development architecture case studies

Web Development Architecture Case Studies: Lessons From Titans

static website deployment s3 cloudfront

Host Static Website With AWS S3 And CloudFront – Step By Step

Featured Dev Tools

  • Diff Checker
  • JSON Formatter

Recently Published

python file handling

Python File Handling: A Beginner’s Complete Guide

service worker best practices

Service Worker Best Practices: Security & Debugging Guide

advanced service worker features

Advanced Service Worker Features: Push Beyond the Basics

service worker framework integration

Service Workers in React: Framework Integration Guide

service worker caching strategies

Service Worker Caching Strategies: Performance & Offline Apps

Footer

Subscribe via Email

Follow Us

  • Facebook
  • X
  • Pinterest
  • Tumblr

Demos

  • Demo.CodeSamplez.com

Explore By Topics

Python | AWS | PHP | C# | Javascript

Copyright © 2025

https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_1fb7e8f0d0a48ad0d96686ce89544ea4318d818e34410e0246a27540a7979e4b49278ac2fe2505005a7cc33de1e8571a5eafe9c997e29838a3fef148b719c0ff.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_c402e38f1879c18090377fb6b73b15ac158be453ecda3a54456494fe8aba42b990c293bae5424e5643d52515ffc2067e0819995be8d07d5bba9107a96780775c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_ffc3511227531cc335353c54c3cbbaa11d0b80e5cb117478e144436c13cd05495b67af2e8950480ed54dbdabcdcef497c90fdb9814e88fe5978e1d56ce09f2cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d57da9abfef16337e5bc44c4fc6488de258896ce8a4d42e1b53467f701a60ad499eb48d8ae790779e6b4b29bd016713138cd7ba352bce5724e2d3fe05d638b27.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d286e50977f467ebee8fecdcb44e6a6b9a29f2b911dfe58b30ff4f0545aa2b19bca73246e23de9a6d2380bf20e6b8a001b5ba2051042d104c6d411b474fd3368.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_556272a5f9c5e1b26dcf93c48dd6c60d2107db888f97b70498f312c9052331e10005db30e1259f325d650689883af8e7250f282b512037503c7b7dcf03bef034.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_dccc492dbbfdac33d1411f9df909e849c7268fcf99b43007f278cde3a0adc0ae00e8cae5ec81cf255b9a6eae74e239ba1fa935572af77173219cb081f7d2327d.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_00bacf9e36181aac2b666d110cd9d82257f846766e7041b2d7b3c909b458982931ccc9b203e37098fbdfcf43ca359cf04e3824a724a6789fc204196d3a72ad29.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_24a6937d25a49bff45eb9b869987761316e2e901d216be8407bf21c0067597d734e7e172279748a28df403c9168aaac425ca91513e2b4764885349b9da6c7f43.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_68b6d1949e90b6a37c5195ae17874e7c2455352144f28a76be0f68f7a941e6d664fa3c931485f2c5463521acdac05ff6642f0c94fa557a087caa9478d162f085.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_bb8058a9e234a7ffaa98891b1df7f6b8e67410e6984568b151daa05113b8c7f89d7b5918ae73f020998a16f7f5a087a13d6a9a5e5d7c301e2ca12fd9d1f8d177.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_647fb67570c6108fb10ae6785a1abdbecac99ffcf80351d0bef17c3cf783dce497b1895fcdaae997dacc72c359fbfb128cc1540dd7df56deb4961e1cd4b22636.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f7a298a0f1f754623fe3b30f6910ce2c1373f715450750bd7a391571812b00df1917e2be90df6c4efc54dbdfda8616278a574dea02ba2c7a31992768df8db334.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_df30604d5842ef29888c3c1881220dc6d3f8854666d94f0680c5f38aa643c5fb79b10eb9f10998d8856eb24ca265783195937434fd6c2bb8e4846df0277a7fb7.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f17fe6fb0993f1703181d7ae9e9ea570f3d33a43afd6f2a4567daa1a6745698c7b8193dc72d50991d2dd87cd3dcf663959206607d193a9b57926d061a1f50aef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_945dcbab2c2a131f3c90f4fb91776b76066d589f84fb55bff25cd5d79a56218000616bfca1f0af9a74f32348693707af49e8fe624de8aa34f1e1c5b6a25709cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_65820d252e1b93596de6697fd5f02483f3e2524a0696c7d698b64745edb32bf5831a90e556842f5f88c8209766cc78ca3a41cf783d20236a9f90d4a7ea7b3e72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_7286884797a1210857e2a36f8ab46604b0034b6abf512380447a5763c873db6a72b8547f660053de0ea69faef1eb64878f39ff4b0ea86c963efab95764a3bf5b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_cbcf6c279ac6c6a25ae138bf964e64a5fd90d22dcdf8a53b6fe7b72cefa51063bfb0181a6e50dd2acdcae2795619887d1d83b10461e44e5103be756f2588d837.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_47965bc586b95810c925b9df3314e0c9a5cd121e70ca0831f87df0bc034695de4f83ecf2def86f737e14614ee138794473cf32cd3082a5d38db9dec0c1f266fa.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_12aa201cea075846d266536aa222d64d4088b851d87f55dac5e611b77add6826c8ebc6e82650fcd1a9e88a05a0072dedd195719c5f64cd4580a0acd8aee05d92.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_80a4a4c808f46b20177fec8ee1a931010e5d14047c467a7f976cb5b2529b569eeb61558804f2f1a2d2a2347a1e2041500c1b275b1b4c31bbb4b36d8b4183b2b6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_6a85a27ed01937acf24601eb56e782613fa421b8b1eebc0250fcd76f407b8bb23df80d51c252166b6ccb180b26217999ce2891c9a6a59695826207f3ea2aed65.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_d87ea86dd0e7ecdd5fe7a5bb67becf943e57c3add866b456034d51663d099031bd563e12f61fdccc044969adf938a8584ed22ccd401ab8b669e20e4f92fb54e8.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_35311c3d71a3605fad4e1d6b50f3911311cdcc46418bdf56d6d0308a75a69585269ee7582a335e29989adf308fa1a81a10a2c2d4e257e9d680447a4996f6269e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_f4fc182ef03c12e9dcadd6febc3dbaa4a29134469057ca9e8ec0be2f2de29a494514ff4b59798e74debf26f78b2df2b3e2665c69b77035761fb463b783202915.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_85c0f2769456e60153b0fd8364b82a035da53384f62de342d9bdca806f3f1ea56486919a00497a18d457949c82bf8bfacc4423fc332074ddf71a49a8fe628fff.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_1b7e49e98f5960d71636812e807832cc98a24f48bc493652ddb2f9c4ce08bc89a8fd5d9550a8e2887d1d8887ce02924a878361c296d21ceba18a56f3ace130bd.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_09eecfdd96206ed13830b4b93cfb2cc75cd38083671a34194437b5734b5bb38712209dc335b07e3266ceb3c3a44a155b9bbe5f3e0e1105b19dd45d3def76f020.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_4c089fbdb88e3b624a6f884d3ba1bf606f003bfcd3742376d0d353cd62181dc663aa3811a56361c3100de488fc4d6595a50de2b26f058921ba74f5f2c1b5be00.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_897ff6ac314c5f5e0f496c6af624bd9abf296a02cb5aeb850b9220b6dc3ce2fc4004cb02ed8b59d59d4b9c9d90f050d6eebc1d08ecaebab2f671f7d9367e6410.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_67d1e619e71d36ae00ddcf85ee18628bb4eb64fcb3d6119b463e75cb987013420a21136d19cd03e6634ccc01cfa9af4a357930e4cf6900953b7812efb4f249fb.js