Please sign in to see the alerts.

Summary

Project website jatc.cookta2012.dev
Instructions for translators

JATC Time Clock Translation Instructions

JATC Time Clock is a workforce-management application covering employee attendance, time-clock punches, work periods, breaks, corrections, payroll-related time, and administrative configuration.

Translations must preserve the business meaning of each string while sounding natural and professional in the target locale.

Translation priorities

Use the following order of priority:

  1. Semantic accuracy

  2. Correct application/domain meaning

  3. Natural professional language for the exact target locale

  4. Consistency with established project terminology

  5. Concise UI wording

    Do not shorten a translation if doing so makes its meaning less precise.

    Translations should read as though the application were originally written for the target locale, not as literal word-for-word translations from English.

Use context

Always consider all available context before translating a string, including:

  • String key or identifier

  • Developer comments

  • Screenshots

  • Where the string appears in the interface

  • Nearby or related strings

  • Existing approved translations

  • Project glossary entries

    A short English word can have several meanings.

    For example, Break, Work, Punch, Pair, Save, or Edit can be nouns, verbs, commands, statuses, or application concepts depending on where they are used.

    Do not assume that two strings with identical English text necessarily require identical translations.

    If the source string is genuinely ambiguous or appears incorrect, do not invent missing meaning. Flag the source string for review.

Application terminology

The following definitions describe the concepts used by JATC. They establish meaning, not mandatory word-for-word translations.

Punch

A Punch is a recorded time-clock event or point in time.

It does not mean a physical strike.

Clock In

Clock In records the beginning of an employee's attendance or work presence.

Use normal timekeeping terminology for the target locale.

Clock Out

Clock Out records the end of an employee's attendance or work presence.

Punch Point

A Punch Point is an individual recorded time point used by JATC's timekeeping model.

Single Punch

A Single Punch is an individual time-clock event that is not necessarily paired with another punch.

Pair / Unpair

Pair creates a relationship between two punch points.

Unpair removes that relationship.

Translate these according to the timekeeping operation rather than assuming a physical meaning.

Attendance

When used as a JATC domain object, Attendance represents the employee's recorded period of presence.

It can have a more specific meaning than the general abstract concept of attendance.

Work

Work can refer to:

  • recorded working time,

  • a work interval or category,

  • or an action involving work.

    Use the context to determine the correct grammatical form.

Break

A Break is an employee work break.

Breaks may be paid or unpaid depending on application rules.

Use the appropriate grammatical form when the string refers to a break as an object versus an action.

Payable

Payable indicates time or activity that counts toward compensated time.

Do not automatically translate it as a generic financial concept such as an invoice or account payable when the context refers to employee time.

Unpaid

Unpaid indicates time that does not count as compensated working time.

Pay Period

A Pay Period is the period of time used for payroll calculations.

Payroll Cycle

A Payroll Cycle is the application's payroll-processing cycle.

Do not merge Payroll Cycle and Pay Period into the same concept when the English source distinguishes them.

UI language

Use concise, professional terminology normally found in software interfaces for the target locale.

Buttons should normally be phrased as actions when they perform actions.

Labels and headings should normally use the grammatical form expected for labels and headings in the target language.

Do not mechanically reproduce English Title Case. Follow the capitalization conventions of the target language.

Avoid slang, overly informal wording, and awkward literal translations.

Do not make terminology unnecessarily technical when a well-established user-facing term exists.

Regional language

Translate for the exact configured locale, not merely the base language.

For example:

  • Canadian French and France French may require different terminology.

  • Mexican Spanish should not automatically inherit Spain-specific vocabulary.

  • British English should use normal British conventions where appropriate.

    Regional differences should be meaningful and natural rather than artificially introduced merely to make two locales different.

Placeholders and technical content

Preserve application-controlled content exactly.

Do not translate, rename, remove, reorder incorrectly, or corrupt placeholders such as:

{name} {count} {{value}} %s %d $1

Also preserve as required:

  • ICU MessageFormat syntax

  • HTML/XML markup

  • Escape sequences

  • Localization keys

  • Code identifiers

  • URLs

  • File names

  • Keyboard shortcuts

  • Product names and proper names unless an established localized form is intended

    Translate the human-readable text around these elements while preserving their required syntax.

Consistency

Use established project terminology consistently when the same application concept is being discussed.

Before introducing a new translation for an established term, check:

  • Existing approved translations

  • Translation memory

  • The project glossary

  • Related strings

    Consistency must not override context. If the same English word represents different concepts or grammatical roles, translate each according to its actual use.

Source-string problems

If a source string is:

  • ambiguous,

  • grammatically incorrect,

  • missing necessary context,

  • inconsistent with another source string,

  • misleading about application behaviour,

  • or impossible to translate accurately,

    flag it for review rather than guessing.

    A source-string problem should be corrected at the source when possible instead of being independently worked around in every language.

Reviews

Review translations for both linguistic quality and application meaning.

A translation should not be approved solely because it is grammatically correct. Verify that it represents the correct JATC concept in the location where it appears.

Pay particular attention to:

  • Punch and pairing terminology

  • Clock In / Clock Out

  • Attendance versus Work

  • Paid versus unpaid time

  • Break terminology

  • Payable time

  • Pay periods and payroll cycles

  • Administrative actions

  • Validation and error messages

    Machine-generated translations should be treated as suggestions and should meet the same accuracy requirements as manually entered translations.

General rule

When there is a choice between a translation that is shorter and one that more accurately communicates the JATC concept, choose the accurate translation.

When developer comments, string context, screenshots, or established project terminology clarify the intended meaning, that context takes precedence over a generic dictionary translation.

Translation process
  • Translations can be made directly.
  • Translation suggestions can be made.
  • Any authenticated user can contribute.
  • The translation uses monolingual files.
  • The translation base language is editable.
Source code repository local:
Repository branch main
Weblate repository https://weblate.cookta2012.dev/git/just-another-time-clock/app/
File mask *.json
Monolingual base language file en-US.json
08/24/2026

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 7,616 38,840 248,600
Source 952 4,855 31,075
Translated 12% 958 12% 4,872 12% 31,176
Needs editing 2% 220 2% 1,121 2% 7,271
Read-only 0% 0 0% 0 0% 0
Failing checks 1% 5 1% 13 1% 76
Strings with suggestions 4% 335 3% 1,180 2% 7,426
Untranslated strings 84% 6,438 84% 32,847 84% 210,153

Quick numbers

63,115
Hosted words
12,376
Hosted strings
7%
Translated
0
Components
13
Languages
13
Translations
0
Screenshots
and previous 30 days

Trends of last 30 days

+100%
Hosted words
+100%
Hosted strings
+7%
Translated
+100%
Contributors
User avatar cookta2012

Translation removed

en@pirate.json
08/24/2026
User avatar cookta2012

Translation removed

lv-LV.json
08/24/2026
User avatar cookta2012

Translation removed

fr-CA.json
08/24/2026
User avatar cookta2012

Translation removed

en-PL.json
08/24/2026
User avatar cookta2012

Translation removed

es-MX.json
08/24/2026
User avatar cookta2012

Translation added

08/24/2026
User avatar mt:openai

Suggestion added

08/23/2026
User avatar mt:openai

Suggestion added

08/23/2026
User avatar mt:openai

Suggestion added

08/23/2026
User avatar mt:openai

Suggestion added

08/23/2026
Browse all component changes