Translation reports and word count

Learn how to view translation reports and how we count words for the performed translations.

Nick Ustinov avatar
Written by Nick Ustinov
Updated over a week ago

Translation reports provide detailed information on a per-user basis showing what translations and reviews this user has performed, when, in which project, and how many words are credited to this user.

Index

Translation report contents

Reports contain very detailed information on every translation-related action. You'll see the following columns:

  • project_idLokalise project unique identifier where the action took place.

  • project_name — name of the project.

  • project_branch — if the project has branching enabled, this column will contain the branch name where the action took place. Otherwise, it will be empty.

  • date_time — date and time when the action took place.

  • user — name of the user who performed the action.

  • key_idLokalise translation key ID that was modified by the action.

  • key_name — name of the translation key.

  • reference_text — base language value of the key.

  • target_text — modified text.

  • language — language of the modified translation.

  • accounted_word_count — number accounted words, or how many words will be credited to the user. Please check the section below to learn how exactly Lokalise counts this number.

  • total_words_accounted — the total number of words accounted for this user at the current timestamp.

  • action — action name. Possible values:

    • Translation — target translation was edited.

    • Translation (self correction) — user edited a translation value that has been already modified by them.

    • Revision — source translation has been changed, and the user has fixed the corresponding target language.

    • Revision (self correction) — the user has fixed their own translation after the source translation was changed.

    • Review — translation was marked as "reviewed".

  • segment_number — if the project has segmentation enabled, this column contains the edited segment number for the given key ID. If the project does not have segmentation enabled, this column will always have a value of 1.

Here's an example demonstrating part of a personal report:

Viewing translation reports

Viewing personal reports

Every Lokalise user can view his/her own personal reports by clicking on the avatar in the bottom left corner and choosing Profile settings:

Then proceed to the Translation reports tab:

Choose a translation project from the Projects dropdown to view a report for (or choose "All projects"). Then adjust the Date range and press Download report.

Viewing team users reports

Team admins, billers, and owners can view reports for any team user. To achieve that, click on the avatar in the bottom left corner and choose Team settings:

Then proceed to the Team tab and scroll to the bottom of the page. You'll see a Translation reports button:

Clicking on this button will display a dialog box where you can choose a team user to generate a report for (you can also choose "All users") and the date range.

Once you are ready, click Download report.

How to read translation reports

For the most part, translation reports are quite self-explanatory but when things come to the accounted_word_count and total_words_accounted fields, it's not that simple. To understand what data these fields represent and how they differ from each other, let's take a look at the following report for a user named John:

John has performed eight actions in a single project: he provided Russian translations for two keys (the language column is hidden as it contains identical values), then he updated these translations, and finally set their statuses to "reviewed". But the question is, what do these word counts actually represent?

Let's move from top to bottom:

  1. action: Translation, key_name: sign_up
    John has provided a Russian translation for the text "Sign up".
    As long as the source text has 2 words and John hasn't previously edited this translation, accounted_word_count is set to 2.
    This is the first action performed by John in this report, therefore total_words_accounted equals to accounted_word_count and thus it is also set to 2.

  2. action: Translation, key_name: welcome
    John has provided a Russian translation for the text "Welcome to the app!".
    The source text has 4 words. John hasn't previously edited this translation, therefore accounted_word_count is set to 4.
    total_words_accounted had a value of 2, therefore to calculate a new value we have to take its previous value and add the current value of account_word_count. In other words, total_words_accounted = total_words_accounted_previous + accounted_word_count. This way, we get 6.

  3. action: Translation (self correction), key_name: welcome
    John is modifying Russian translation for the same key. He has already edited this translation and was credited with 4 words on the previous step. We don't need to credit him again, therefore accounted_word_count is set to 0.
    We already know that total_words_accounted = total_words_accounted_previous + accounted_word_count. As long as accounted_word_count is 0, total_words_accounted does not change and is still equal to 6.

  4. action: Translation (self correction), key_name: welcome
    John is making more changes to the same translation key, therefore accounted_word_count is once again set to 0.
    total_words_accounted is still equal to 6.

  5. action: Revision, key_name: sign_up
    Before this action took place, someone (not John) had modified the source value for the sign_up key: now it says "Sign in". John noticed this change and decided to update Russian translation accordingly. The source text has 2 words, therefore accounted_word_count is set to 2.
    total_words_accounted is calculated as 6 + 2, so we get 8.

  6. action: Revision (self correction), key_name: sign_up
    John is modifying Russian translation for the same key. John has already edited this translation since the base language value had been changed which means he was already credited with the corresponding word count. Therefore, the accounted_word_count is once again set to 0.
    Consequently total_words_accounted remains unchanged and its value is 8.
    This is the last translation-related action, the total accounted words is 8.

  7. action: Review, key_name: sign_up
    John has set Russian translation status to "reviewed". The base language value has 2 words, therefore accounted_word_count is 2.
    total_words_accounted initially equals to 0 because John has not performed any review-related actions previously (at least, none are recorded in the current report). It means that now total_words_accounted = accounted_word_count = 2.

  8. action: Review, key_name: welcome
    John has set Russian translation status to "reviewed" for another key. The base language value has 4 words, therefore accounted_word_count is 4.
    total_words_accounted = account_word_count + total_words_accounted_old = 6.
    This is the last review-related action, the total accounted words is 6.

So, after performing all the calculations we can see that John has 8 accounted words for translations and 6 accounted words for reviewing.

Did this answer your question?