How to get the number of words in a PO translation file

If you need to count the number of words in a .PO translation file, you can use the pocount command. This command is part of the translate-toolkit package.

First, you have to install it in your Linux machine with the command:

 sudo apt install translate-toolkit -y

Then you have to execute this command with the .po file as first argument:

pocount myfile.po

Processing file :  myfile.po
 Type               Strings      Words (source)    Words (translation)
 Translated:       0 (  0%)          0 (  0%)               0
 Fuzzy:            0 (  0%)          0 (  0%)             n/a
 Untranslated:   491 (100%)       2615 (100%)             n/a
 Total:          491              2615                      0
 Empty:          491 (100%)       2615 (100%)               0

Localization in Laravel

In this post, I will go to explain how to localize a Laravel application. The application will support English, Spanish and Galician languages. This is a real example to translate the https://wptranslator.jesusamieiro.com web app. You can find the source code on GitHub.

The steps to localize the application will be:

  1. Create a configuration file to store the languages that will be used by the application.
  2. Define the default language for the application.
  3. Add the translation functions in the views.
  4. Create the JSON translation files.
  5. Create the middleware that updates the application language.
  6. Add the selector in the main view to enable the end-user to change the application language.
  7. Add the route for the change event of the previous selector.
  8. Add the controller to receive the change event from the previous selector.

How to setup a master-master replication system between two MySQL servers

In this post, I will go to explain how to set up a master-master replication system between two MySQL to replicate an existing database.

The MySQL master-master configuration is a master-slave configuration in both directions and allows us to get a high availability configuration because you have the same data in both servers and if one goes down you can still work with the live server.