Home » Tutorials

How to calculate the word count for translation


The word count for translation is the number of words contained in the file that you need to translate. There are different ways to calculate this word count, depending on the type of text and what it represents.

Document translation

If you have a text file to translate, in any file format, you can register an account and create a Document translation project. Enter the word count in the “Work Conditions” section and you will get the quote for your translation.

The “Work conditions” settings in the project creation

Many software can help you get the word count depending on the file format. The most popular text editors have a word count tool function to calculate the number of words in your file.

Microsoft Office suite

You can use the Word Count function in Microsoft Word under the Review menu.

For PowerPoint, go the File tab, click Info and then Show All Properties. The Words property counts all the text on slides and notes pages.

Note that Microsoft Excel does not have the word count function, but you can copy the cells with the desired text in Word to calculate an estimated word count.

Word Count tool in Microsoft Word

OpenOffice and LibreOffice suites

If you do not use Microsoft Office, both OpenOffice and LibreOffice are valid free alternatives. Their text editing software provides a word count tool function under Tools -> Word Count.

Word count tool in OpenOffice

Google Drive

For Google Docs files, open your document in Google Drive, then go to the Tools menu and select Word count to see the number of words.

Word count tool in Google Docs

The word count function isn’t available for Google Sheet or Slides, but you can copy their content in a Docs file.

You can import in Google Drive also Microsoft Office files in compatibility mode to get their word count.

Export a Google Drive file for translation

You can export a Google Doc, Sheet or Slide and download it on your computer. There are several file formats you can choose from. To have the document translated, you can download it as a Microsoft Office suite file. Some very common file formats are .docx, .xlsx, .pptx. Any translator will be able to work on them.

To export and download your Google document, follow these steps:

  1. Open the file.
  2. Click File -> Download as.
  3. Choose a file format.

Download a Google Docs document to export and save it

PDF files

For PDF files, the best way to calculate the word count is to convert them in a text file.

Convert to a text file with Acrobat Pro

If you have Acrobat Pro, you can export the document in a Word file format going to File -> Save As Other… -> Microsoft Word -> Word Document.

Save a PDF as a Word document in Adobe Acrobat Pro

Copy or open in Word or other text editors

You can select parts of the text or the entire PDF contents and copy them in Word or your preferred text editing software.

Word and other text editors can open PDF files. When you select to open a PDF, they will convert it. The results of the conversion depend on the PDF formatting, but in most cases the converted file is suitable to get an estimate of the word count.

Upload to Google Drive

Google Drive can convert a PDF file to a Docs one in order to get the word count:

  1. Go to Google Drive.
  2. Upload the PDF file.
  3. Right-click on the PDF file.
  4. Click Open with -> Google Docs.
  5. The file will be converted to a Google Doc.
  6. Open the converted Docs document and go to Tools -> Word count to see the word count.

Open a PDF and convert it to a Google Docs in Google Drive

Convert an image PDF to a text file

PDF files can be made of images instead of text. In this case, it is necessary to convert the images into text before calculating the word wound. While you could use specific OCR (Optical character recognition) software, Google Drive offers an effective solution.

You can upload an image PDF in Google Drive as explained above. Google will convert the images or PDF in a Google Docs, but some formatting might not transfer (see the Google documentation for more information). The word count of the converted file will be a rough estimate, you can provide both the original file and the converted one to the translators and they will confirm the quote for you.

Use online tools

There are also online tools to calculate the word count of many file formats. Doc Word Counter allows you to drag and drop the file and get its word count.

Uploading a file in Doc Word Counter

If you don’t have a file, you can use website services where you can simply paste the text to calculate the word count.

Software and app strings files

We offer dedicated software projects to easily manage the translation of your strings.

Supported file formats:

GNU Gettext PO or POT (.po, .pot) UTF-8 Unicode
Android XML (.xml) UTF-8 Unicode
Apple strings UTF-16LE (.strings) UTF-16LE Unicode (LLHH)
Apple strings UTF-8 (.strings) UTF-8 Unicode
Apple StringsDict (.stringsdict) UTF-8 Unicode
Apple PLIST XML (.plist) UTF-8 Unicode
INI file (.ini)(Joomla, Delphi Unicode Resource) UTF-16LE Unicode (LLHH)
IPP XML UTF-8 Unicode
Java Property Resource Bundle Unicode (.properties) Java Unicode (\uNNNN)
Label-value pair with no quotes (label=value) UTF-8 Unicode
Label-value pair with quotes on value (label=”value”) UTF-8 Unicode
Nevron Dictionary UTF-8 Unicode
PHP associative array, short syntax (.php) UTF-8 Unicode
PHP define() statements with double or single quotes (.php) UTF-8 Unicode
XLIFF (.xliff) UTF-8 Unicode
XML with ITEM elements and text to translate on “KEY” attribute UTF-8 Unicode
YAML (.yml, .yaml) UTF-8 Unicode

If your source file is in one of the supported formats, you can register and create a software project. Simply upload the file and the system will provide you the word count of the strings to translate.

Word count for the strings to translate in a software project

Short and plain text

For simple texts (up to 250 words) you can create an Instant translation project, and our system will count the words for you.

Insert the text to get its word count

WordPress websites with WPML

The WPML plugin is a complete solution to translate your WordPress websites. WPML includes a website word count tool, which will go through the entire content and produce a complete report for you. To reach it, go to WPML->Translation Management. Scroll to the bottom of the Translation Dashboard and click on the Word Count link.

Once you know how many words there are to translate, it is easier to estimate the translation costs.

You can get a word count estimate for the selected content or entire post types in your site.

Note: WPML word count is only an estimate. You can send the content for translation and ICanLocalize will provide you with the definite word count and quote before starting.

Word count for selected content

Go to the WPML -> Translation Management page. Use the filters to find the items you want to translate. Use the checkboxes to select the desired content and the estimated word count will be displayed right underneath the table.

The word count estimate is automatically updated as you select content

Word count for entire post types

On the WPML -> Translation Management page, click the Word count for the entire site link.

Getting the word count for entire post types

In the pop-up dialog that appears, select the post types you want to get a word count estimation for and click Recalculate.

I’m ready to translate! Can you help me?

Of course! When you’re ready to start, just register and we will guide you through the entire process. You will get high-quality translations done by professional linguists in a few clicks.

If you need help with the word count for translation, please send us the file by email or in a support ticket. We will be happy to calculate the word count and create the project for you.

Read the rest of this tutorial »

How to translate YAML files with ICanLocalize

YAML is a data serialization language designed to be human readable. It is used for configuration files and in applications where data is being stored or transmitted.

YAML stands for “YAML Ain’t Markup Language”. It can be used to structure the most common types of data and the YAML file extensions are usually .yaml or .yml.

The strings inside YAML files consist of key and value pairs separated by a colon followed by a space.

key_name: value

Since this structure is quite easy to read for humans, YAML has become a popular format for localization. The YAML format is a simple and powerful way to store the text of applications and internationalize (i18n) them.

Prepare the application for localization using YAML

The YAML file format is the default one used to internationalize Ruby On Rails applications, and it is supported by dozens of programming languages.

Here are some guides for common programming languages to internationalize your application:

  • Ruby On Rails:  see how to translate a RoR application on the Rails Guides.
  • Symfony (PHP): learn how to use the Translation component in the Symfony Framework on the Symfony documentation.
  • Ember (JavaScript): see how to use the ember-intl module in your application.

Get your YAML file translated using a software project in ICanLocalize

YAML files are easy to read for humans and you could use a text editor to localize them. However, the process would be slow and prone to errors. You need to be very careful when translating strings since small errors can make the file unusable, and not all translators are familiar with software localization.

With ICanLocalize, you can translate your YAML files through dedicated software localization tools. A parser will analyze the source file and extract all the text to translate. Translators will work only on the texts, without worrying about the file format.

1. Create the translation project

Register an account, log in and click the “New translation project” button at the top of the page. Then, select to start a new software project.

2. Upload the YAML file

After selecting the name and language of your project, it’s time to upload the YAML file. Select the YAML file format from the drop-down menu and click the “Upload” button to import the file.

3. Add the strings to the project

The system will present the list of the strings found in the file. You can review them and also choose exactly which ones you want to translate. The word count is also done automatically and you can see at the top of the table how many words are to be translated.

When you are ready to add the strings to the project, click the button “Add selected strings for translation”.

4. Start the translation

If you want the first available translator to take your project, you can just deposit the payment and wait for the work to be completed. Otherwise, you can choose to invite translators and select the ones you prefer; you will proceed with the deposit to start the translations only after translators are assigned.

5. Get the localized YAML file

When the translation is complete, you can download the localized files which will have the same structure as the original.
Here is an example of an original YAML file and its translated content:

Original file in English Localized file in Spanish
reset: ‘Reset’
filter: ‘Filter’
home: ‘Home’
actions: ‘Actions’
‘no’: ‘No’
‘yes’: ‘Yes’
account_confirmed: ‘Your account has been confirmed’
signed_in: ‘You were successfully signed in’
reset: ‘Reiniciar’
filter: ‘Filtrar’
home: ‘Principal’
actions: ‘Acciones’
‘no’: ‘No’
‘yes’: Sí
account_confirmed: ‘Hemos confirmado tu cuenta’
signed_in: ‘Sesión iniciada correctamente’


Import the translated YAML files in your application

The translated YAML files need to be placed in the directories where your application contains the resource files for each supported locale.

We localized our own translation editor, WebTA, using YAML. The next screenshot was taken from RubyMine, a widely used Rails development tool. The language resource files are in the “locales” directory, and each locale is identified by the language ISO code.

Language resource files in RubyMine

Update the translations

Your application can grow or you might need to make changes to the original texts. You can easily update the translations in the same software project you created for the initial files.

You can upload the updated source files in the “Resource files” section, making sure to select the option “Ignore duplicate strings”. Strings that were already translated will be automatically completed applying the translations stored in the system. The new or modified strings will be identified and you will see a summary of the new words and their cost before proceeding with the deposit to start the translation.

Ready to get started?

You can register an account and create your project in just a few clicks. It’s completely free so you can check how the system works and get a quote after uploading your file. If you have any doubts you are always welcome to contact us or open a support ticket, our team will gladly help you set up your localization project.

Read the rest of this tutorial »

Translate your website with older versions of WPML

Thanks to ICanLocalize and WPML integration, translating your WordPress website is easy. Our translators work inside a specialized software that takes care of preserving the page layout and text formatting. They do not access your website so there are no security risks. All you need to do is configure WPML, activate ICanLocalize and choose the translator you prefer.

Read the rest of this tutorial »

How to translate your website with WPML and ICanLocalize

Thanks to ICanLocalize and WPML integration, translating your WordPress website is easy. Our translators work inside a specialized software that takes care of preserving the page layout and text formatting. They do not access your website so there are no security risks. All you need to do is configure WPML, activate ICanLocalize and choose the translator you prefer.

Read the rest of this tutorial »

How to translate WordPress themes and plugins

This guide teaches WordPress developers how to efficiently translate their themes and plugins.

WordPress powers sites from all over the world. In order for themes and plugins to be popular, they need to be available in the Web’s most popular languages. ICanLocalize offer expert human translation, with a process that’s optimized for WordPress.

Making Your Code Translation-Ready

First, you need to prepare your code for localization. All the texts in your code have to be wrapped in GetText calls. If you’re new to this, see the WPML FAQ about GetText.

Besides simply wrapping texts in GetText calls, be sure to use placeholders and to never break sentences into multiple strings.

“This page has 7 comments and 13 shares.”

Wrong way Right way
<?php printf( __( ‘This page has ‘, ‘theme-text-domain’ ) . $comment_count . __( ‘ comments and ‘, ‘theme-text-domain’ ) . $share_count . __( ‘ shares.’, ‘theme-text-domain’ ) ); ?> <?php printf( __( ‘This page has %1$d comments and %2$d shares.’, ‘theme-text-domain’ ), $comment_count, $share_count ); ?>
The sentence is made up of several parts, connected with a “.” operator. Translators control the text, but not the order. The sentence comes from one translatable string with arguments. Translators control both the text and the order.

When you do it correctly, the translators can edit the entire sentence and reorder the arguments. When you use string concatenation, the order of the sentence parts is fixed and translators can only translate inside each part. This will lead to bad translation in many languages.

Test that Everything is Translatable

Before you start translating your theme, it’s a good idea to check that everything your theme produces is translatable. WPML can help you do this with the help of the Multilingual Tool Plugin. This tool will produce dummy translations for all the content of a (test) site, including the strings. After you run it, you will easily see which texts are not translatable and fix the code that produces them.

Producing .po Files for Your Themes and Plugins

Once you know that every text coming from your code is translatable, it’s time to start the translation process.

WPML can produce .po files for you. Install WPML on a test site which has your code. Then, go to WPML->String translation. Scroll down to bottom and look for the box “Export strings into .po/.pot file”. Select the textdomain and export the strings to a file.

Setting up a Translation Project in ICanLocalize

ICanLocalize will help you translate the .po files to all the languages you need. When it’s done, you will receive both translated .po files and .mo files. You will be able to share and reuse translations between your different products, translate only new and modified texts, get reviews inside WordPress and more.

Let’s get started.

  1. First, create an account. You will receive a confirmation email. Click on it and your account is ready.
  2. After you confirm your email and log-in, click to start a new Software project.
  3. When you create the project, be very specific in the description field. This is where you want to tell the translators what work you’ll need from them. You can use this template and fill in the blanks:

    This .po file includes the texts for the THEME/PLUGIN called NAME. You can read about it here:


    My product works inside of WordPress. To translate it correctly, you need to be familiar with WordPress and know the WordPress terminology in both English and in your language. Translations must be consistent with WordPress naming.


    Our audience is …


    Translation needs to be CASUAL/FORMAL.


    Before you translate, you will need to see how our product works in WordPress. Here are screenshots that show you what you are translating:




    After you finish translation, I will create a test site which will work in your language. You will need to check that all the translations make sense and that they appear correctly.

  4. Scroll to Upload the resource file to translate
  5. Select the .po file that you generated, choose the file format as ‘po’ and click to upload.
  6. Review the strings and add to the project. This review page helps you make sure that the strings are all good. If you find problematic strings, cancel, edit your code and generate a new .po file.
  7. If you already have previous (even partial) translation for your project, you can upload it. Please be sure to upload translations that you are completely certain about. Otherwise, you could be mixing between inaccurate translations and professional translation. This might confuse ICanLocalize translators and cause them to use wrong wording for your project.
  8. Translators will apply to your project. Give them a couple of days to apply and present themselves. In ICanLocalize, you choose your own translators. All translators in ICanLocalize are professionals and write in their native language. The ability to choose translators yourself allows you to find translators who know the subject of your project.
  9. Accept the applications that you like best. You only need one translator per language. ICanLocalize system automatically assigns reviewers.
  10. You will get a quote from ICanLocalize for the total cost of your translation project. Before you deposit the payment, you see exactly how much the work costs and a breakdown per language.
  11. Deposit the payment for the work and the translators will get started.

How to Get and Test Your New Translations

When translations complete, ICanLocalize system will send you notifications. You will receive separate notifications whenever each language completes.

Go back to your project, scroll down to the section called “Uploaded resource files” and click the button “Create translations”. ICanLocalize system will compile .po and .mo files with your translations. You can download one ZIP file which includes all the translated files.

Add them to your theme or plugin and be sure to load them using load_theme_textdomain or load_plugin_textdomain. Change the language of the site and see that translations appear. If you’re using WPML on that site, go to User->Profile and set the user language there.

Prepare Review Sites for Your Translators

Once you see the translations in WordPress, you need to allow the translators to review as well. The best way is for you to create an online test site, which the translators can access. You can create one site, install WPML and create user accounts for the translators and reviewers.

To send messages to the translators, go to the project in ICanLocalize, scroll to Translation Languages and click on the links “Communicate with…”. There’s such link next to each of the translators you’ve selected.

Give the login details for each of the translators and explain to them how they can switch the language of the site (under User->Profile). It’s important that the translators will first review the English and then their translation, to make sure they understand the full context of everything. Remind them which URLs they need to visit and what they need to click on. Since you’re sending these instructions to a number of translators, we recommend that you create a short document with “review instructions”. You can upload this document to the chat with each of the translators. You can also broadcast a message to all translators.

How to Handle Issues with Translations

ICanLocalize has an issue tracking system, which allows you, the translators and reviewers to communicate, track and resolve issues.

When translators need clarifications (and good translators will almost always need that), they will open ‘issues’ for you. You will receive a notification email. Try to respond to these emails as soon as you can, so that translation doesn’t lose it momentum.

If you notice anything that the translators should change, you can create issues yourself.

How to Update the Translations when the Theme/Plugin Updates

Every theme or plugin receives updates. Some of these updates also include new and modified texts.

When you’re done developing, but before you release you do a “strings freeze”. This means that you’re done updating texts. You may be doing last tests, but the texts are final. This is the time to update the translations.

Go to your project, scroll down again to the Resource files section and upload the new .po files for the new version. Select the option “Ignore duplicate strings” and ICanLocalize system will identify the new strings. Strings that were translated before don’t require any additional work.

You will see a summary of the new work and how much it costs. Deposit the payment and let the translators get to work.

When it’s done, go back to the Resource files section and click on the button to Create translations.

How to Translate Your Other Themes and Plugins

Many successful authors have more than one theme and plugin. ICanLocalize system makes it easy to translate all your products and reuse existing translations.

Don’t create new projects for your other products.

Go to the same project that you’ve already created and add more .po files to it. ICanLocalize system will identify which texts are new. You will need to pay only for them and not for what’s translated already.

Ready to get started?

Expert translators are waiting for your themes and plugins on ICanLocalize. We translate WPML, Toolset and many other popular plugins. To get started, create an account at ICanLocalize and use our Software Localization projects.Read the rest of this tutorial »

iOS Localization Guide for Multilingual iPhone and iPad Apps

This guide will show you how to convert a single-language iOS application, built with Xcode, into a multilingual application.

Read the rest of this tutorial »

Android Localization Tutorial

In this tutorial we show how to write multilingual Android apps.

To build multilingual Android apps you need to collect the texts into resource files and translate them.

Once you provide the translation, Android OS will choose the resources that match user’s locale. If your application is available in several languages, Android will select the language that the device uses.

Read the rest of this tutorial »

How to Translate plist Files

plist (Property List) is a flexible and convenient format for storing application data. It was originally defined by Apple, for use in iPhone devices and later spread to other applications.

Since plists are actually XML files, you can use a simple text editor to translate them. However, doing so is very tricky as even one character in the wrong place will make the file unusable.

Instead, ICanLocalize allows translating plist files as part of a Software Localization project. A parser will go through the plist file. It will extract all the texts that need translation and make them available to the translators. Translators will translate only the texts, without worrying about the file format.

When translation is complete, the new plist file is created. It has the exact same structure as the original file and only the right fields translated.

Read the rest of this tutorial »

How to Translate With GetText PO and POT Files

GetText Portable Object (PO) files are the industry standard for multilingual websites in PHP.

Read the rest of this tutorial »

"Enable/Disable BOM" option for software localization projects

The byte order mark (BOM) is a Unicode character, U+FEFF byte order mark (BOM), that appears at the beginning of a text stream (file) and signals the text encoding.

You can find the “Enable/Disable BOM” option at the bottom of each software project in the Project Administration panel.

Read the rest of this tutorial »

ICanLocalize - Running a Multilingual Software Business

Localizing software is a great way for rapidly multiplying your income. We’ll go over the different activities required to localize software and explain how they can be done with ICanLocalize.

Read the rest of this tutorial »

Simple Translation Management for Mobile Apps

Managing translations for mobile applications is a big challenge for developers. ICanLocalize invites you to use our software localization system and make this process easy and simple.

Does this scenario sound familiar?

  1. You have users from all over the world, eager to help with translation.
  2. You don’t have time to coordinate and organize translation work.
  3. It’s impossible to tell which translators are actually good.

If that’s the case, you’re going to love our software localization system!

Read the rest of this tutorial »

Translation of Popular iPhone and Android App Keywords

Not sure how to translate basic terminology in iPhone or Android Apps? Before you invent the wheel, find the phrase here and see how ICanLocalize recommends to translate it.

Read the rest of this tutorial »