Skip to content

Languages & target lanes

A project translates from one source language into one or more target languages. Each target language is a lane: its own track of translations, validation, and progress. Everything about a project’s languages lives in one place, the Languages card in Project Settings → General.

Open Project Settings → General and find the Languages card. From the editor, the target-language menu at the top of the target column gets you there in one step: Change target language… opens the General settings with the Languages card in view, and Add language lane… opens the same card with its Add a language lane form ready. The card has two parts:

  • Source language at the top, on one line such as “English · en”, with a Change link. It is the language your source text is in. It stays on the source lane and never appears in the target list.
  • Language lanes below it: every language you translate into, in one table. Its (i) reads “The language lanes this project translates into. Add one per dialect, or one per team when two teams draft the same language.” A project with none yet says “No language lanes yet.”

The table has the columns Language, Name, Code and Delivers, and a ⋯ menu on each row. On a phone, the name and code fold into a line under the language.

  • Language is required. It is the language the AI is told to translate into.
  • Name is optional. With no name of its own, the row shows its language; with one, lane chips, pickers, and lists show the name instead.
  • Code is the language code the lane uses. It is worked out from the language unless someone set one.
  • Delivers says what the language produces: see What a language delivers below.
Project Settings open on General (Name, languages, content structure, Bible data), with the Project info card (Project name, Smart quotes) above the Languages card: Source language English · en with a Change link, then a Language lanes table with Language, Name, Code and Delivers columns listing Spanish (es) and French (fr), each delivering Text, a ⋯ menu on each row, and an Add language lane button below
The Languages card sits inside Project Settings → General: one row per language lane, with its language, name, code and what it delivers.

To edit a row, choose Edit in its ⋯ menu, or click its name. The row opens into Language, Name and Code fields with Save and Cancel; Edit starts in Language, and clicking the name starts in Name. Clear the language and Aquilla says “A language lane needs a language. Type the language it translates into.” The code field’s hint reads “Leave blank to derive the code from the language. Set it only when the derived code is wrong.” The source language’s Change link opens the same fields.

The ⋯ menu open on the French row of the Target languages table, offering Edit and Archive
Each language's ⋯ menu: Edit the row, or archive it.

Changing languages needs Maintainer access by default. An organization can lower that floor to Project lead. Below the floor the card shows View only, its (i) names the role that can change it, and every control is greyed out.

Each target language has a Delivers choice: Text, Audio, or Text and audio. It decides how the language’s progress is counted. As the column’s (i) puts it:

  • Text: a line is done when its text is validated.
  • Audio: a line is done when its recording is approved, and no text is needed.
  • Text and audio: a line is done only when both its text and its recording are approved.

The same rule is used everywhere progress shows: the editor’s footer and the sidebar’s file bars, the project overview and the organization dashboard, the plan board, assignments, and what Monday and Airtable receive. On a Text and audio language the editor’s footer counts lines done, such as “120 lines · 40 done (33%)”, with Text left and Audio left counts beside it. A language set to Audio also drops the tools that only make sense for text, such as AI drafting and text validation; Change voice stays.

A language that had the old Records audio switch turned on shows Choose until someone picks. Its (i) says “This language had “Records audio” turned on. Choose whether it delivers Text, or Text and audio. Until you choose, its progress is counted as before.“

The Language field is a language menu, the same one project creation uses. Start typing and it suggests language names; pick one, or press Enter on the highlighted match. Each suggestion shows, beside the name, the code the lane will use if you pick it and leave Code blank: Spanish shows es, French shows fr. Picking a suggestion still saves only the name.

Aquilla stores the name you chose, not a code. The code is worked out from that name each time it is needed, so if you later change the language, the code follows it. Aquilla saves a code only when you type one. Clearing the code field removes your override and goes back to the derived code.

Below the table, Add language lane opens a small Add a language lane form: Language (the same language menu, placeholder “e.g. Traditional Han”), Name (it “Starts as the language’s name. Give it a name of its own to tell two language lanes in one language apart.”), Code (optional), and Delivers, which starts at Text. Click Add language lane, or press Enter.

  • If another language already has that name, the form warns you before you save: Another language is already named "{lane}". You can still add this one; the language switcher numbers them. Two teams translating into one language is a normal setup.
  • Two active languages with the same name get a warning above the table, with Rename the second one and Archive it, and both rows read “Same name as another language lane”.
  • A malformed code gets “That is not a valid language code. Use a BCP 47 tag such as “es” or “es-MX”.“

A new lane starts empty. Who can work in it depends on their role and lane access: see Who sees which lanes below.

To archive a language you no longer need, choose Archive in its row’s ⋯ menu. Archived languages sit in a collapsed Archived (N) group under the table, each with Restore, and their work is kept. An archived row shows its language, then its name if it differs, then its code (such as “French · fr”), but not its Delivers choice; Restore brings the language back with the same choice it had. A project must keep one active lane, so the last one cannot be archived: “This is the project’s only active language lane. Add another language lane before archiving this one.” For the confirmation and what an archived lane refuses, see Archiving a lane.

The Languages card with only Spanish left in the Target languages table, an Add language button, and an open Archived (1) group below it holding French · fr with a Restore button
Archived languages wait in their own group; Restore brings one back.

What a person sees depends on their project role:

  • Maintainers and Owners see every language lane.
  • Project lead, Contributor, Reviewer, and the roles below them see only the lanes they have been given. A lane they have no access to is hidden from them: its name, its text, its progress, and its voice settings.

Source text is not a lane and is never hidden.

Lane access is given when someone joins: an invite or Add member below Maintainer asks which lanes they get, and staffing a lane gives that lane. See Lane access & staffing for each route, including teams.

Every project with a target language has a Languages table on its overview page, even with only one language. It lists target lanes only, one row per active lane, with Language, Translated, Text validated, Audio validated (only when a language owes audio), People (the members given that lane, including a Project lead limited to it), and Last activity.

The project overview's Languages table with an Add language lane button and the columns Language, Translated, Text validated, People and Last activity, no Audio validated column since neither language owes audio: French at 0% translated and 0% text validated, Spanish at 40% and 40%, People — for both, and last activity October 9
Text validated per language; Audio validated appears once a language owes audio.
  • Translated is the share of lines with text, or for a language that delivers Audio, the share recorded.
  • Text validated is the language’s validated text, and Audio validated its approved recordings over the recordings it owes.
  • A language that owes nothing under a column shows “—” rather than 0%: an Audio language under Text validated, or a language that owes no audio under Audio validated.
  • If no language owes audio, there is no Audio validated column. A language owes audio once it delivers Audio or Text and audio, or has recordings. If no language delivers text, there are no Translated and Text validated columns.

Click a column heading to sort by it. Click a row to open the editor on that lane. If you can assign work, clicking the People avatars opens that lane’s Staff picker. Archived lanes sit in a collapsed Archived (N) group under the table, where each figure names its half, such as “30% text validated” and “10% audio validated”.

A Maintainer or above also gets an Add language lane button, which opens the Languages card in Project Settings → General.

If you can assign work on the project, each row’s ⋯ menu (or a right-click on the row) has Assign… and Staff…. Staff… opens a Staff [lane] picker for that row’s lane only: pick a person, pick Reviewer or Contributor, and confirm. The person is added to the project if needed and given that lane. See Staffing a lane for the details.