Aaen-IN

Language & Localization

Which languages the school speaks in, how complete each one is, and the regional conventions — dates, numbers, currency, week start — that everything else is rendered against.

2 languages need attention
Default languageEnglish (India) en-IN
Active languages4 of 6 enabled
Translation status78% across all modules
RegionIndia · Asia/Kolkata · ₹ INR
Last updated31 Jul 2026 · Ms. Latha Rao
Section 01

General

Which language the application speaks by default, and to whom.

Default language

What the application falls back to

en-IN
Default languageUsed when a user has expressed no preference
Fallback languageShown when a string is missing in the chosen language
Detect from browserUse the browser’s language on first visit
Remember the choiceA user’s language is stored on their account
Language switcherShown in the header for every signed-in user
5 settings

Who sees what

Language is per person, not per school

4 audiences
Staff interfaceAdministrators and teachers may choose any enabled language
Parent portalGuardians choose at first sign-in
Student portalFollows the parent’s choice unless changed
Outbound email and SMSSent in the recipient’s language where a translation exists
Printed documentsReport cards and certificates stay in English
5 settings

Fallback behaviour

What happens when a string is missing

13% missing
Missing stringFall back to English rather than show a blank
Mark fallbacks visuallyOff in production — useful only while translating
Log missing keysEvery fallback is recorded so gaps surface on their own
Notify on new keysTranslators are told when the application adds a string
4 settings · 627 keys logged this month

Who may change this

Localization is not a general permission

Restricted
Permitted rolesSuper Administrator and IT Administrator
TranslatorsMay edit strings but not enable or disable a language
Approval before publishingA translated string is reviewed before it goes live
Audit retention3 academic years
4 settings
Section 02

Languages

Six configured, four enabled.

Six languages configured, four enabled. Each shows its own name in its own script, because that is what a speaker of it recognises in a switcher.

Translated and approvedAwaiting reviewMissing

English

English (India)

Default
en-IN LTR Default
100% translated4,820 of 4820 strings

தமிழ்

Tamil

Enabled
ta-IN LTR
71% translated3,422 of 4820 strings

हिन्दी

Hindi

Enabled
hi-IN LTR
64% translated3,085 of 4820 strings

മലയാളം

Malayalam

Enabled
ml-IN LTR
58% translated2,796 of 4820 strings

العربية

Arabic (UAE)

Disabled
ar-AE RTL
22% translated1,060 of 4820 strings

Français

French

Disabled
fr-FR LTR
6% translated289 of 4820 strings
Section 03

Localization

The region every format rule inherits from.

Country & region

The locale everything else inherits from

IN
CountryIndia
RegionTamil Nadu · Chennai
Locale identifierUsed by every format rule below
en-IN
Statutory calendarGregorian — the academic year runs April to March
Address formatLine, area, city, state, PIN
5 settings

Week & weekend

What counts as a working week

Mon start
First day of weekMonday — calendars and attendance grids start here
WeekendSunday only — the school runs a six-day week
Second SaturdayA holiday, and excluded from working days
Week numberingISO — the first week is the one holding a Thursday
4 settings

Measurement units

Used on records and reports

Metric
SystemMetric
Height and weightCentimetres and kilograms, on the health record
cm · kg
DistanceKilometres, on transport routes
km
TemperatureCelsius
Paper sizeA4 — every printed document
5 settings

Locale overrides

Where a language departs from the region

2 overrides
Arabic (UAE)Uses the Hijri calendar alongside Gregorian, and a Friday–Saturday weekend
Override
FrenchUses a space as the thousands separator, not a comma
Override
Tamil, Hindi, MalayalamFollow the Indian region exactly
Inherit
Allow per-language overridesOff would force every language onto the regional defaults
4 settings
Section 04

Translations

Eight modules, 4,820 strings.

Eight modules, 4,820 strings, four enabled languages. Coverage is counted per language and averaged, so a module at 84% is not 84% done in every language.

Translated and approvedAwaiting reviewMissing

Core System

780 strings

Navigation, buttons, dates, errors and everything shared

96% translated749 of 780 strings
Complete 8 missing
Across 4 languages

Academic Module

940 strings

Classes, subjects, timetable, examinations and report cards

84% translated790 of 940 strings
In progress 66 missing
Across 4 languages

Finance Module

620 strings

Fees, invoices, receipts and payment screens

91% translated564 of 620 strings
Complete 25 missing
Across 4 languages

Library Module

310 strings

Catalogue, issue and return, fines

74% translated229 of 310 strings
In progress 46 missing
Across 4 languages

Transport Module

280 strings

Routes, stops, vehicles and driver records

68% translated190 of 280 strings
In progress 56 missing
Across 4 languages

Hostel Module

240 strings

Rooms, allotment, attendance and visitors

52% translated125 of 240 strings
Needs work 96 missing
Across 4 languages

AI Module

410 strings

Insights, forecasts and the assistant

41% translated168 of 410 strings
Needs work 184 missing
Across 4 languages

Notification Module

240 strings

Email and SMS templates, alerts and digests

88% translated211 of 240 strings
Complete 14 missing
Across 4 languages
Recently edited strings

A string key and every translation of it. The key never changes; only what sits beside it does.

fees.reminder.due
en-IN Fee of {amount} for {student} is due on {date}. Approved
ta-IN {student} அவர்கள் {amount} கட்டணம் {date} அன்று நிலுவையில் ଢ଼ள்ளது. Approved
hi-IN {student} का {amount} शुल्क {date} को देय है। Approved
ml-IN Not translated — falls back to English Missing
attendance.alert.absent
en-IN {student} was marked absent today. Approved
ta-IN {student} இன்று வகுப்பिல் வரவिல்லை. Approved
hi-IN Awaiting review — submitted 28 Jul by R. Sharma Review
ar-AE تم تسجيل غياب {student} اليوم. Approved
Section 05

Date & Time

How a moment is written.

Each card shows the format rule and, larger, what it actually produces. The sample is the part worth reading.

Long date

31 July 2026 d MMMM yyyy

Short date

31 Jul 2026 d MMM yyyy

Numeric date

31/07/2026 dd/MM/yyyy

Date and time

31 Jul 2026, 4:12 PM d MMM yyyy, h:mm a

Time

4:12 PM h:mm a

Time with seconds

4:12:08 PM h:mm:ss a

Day and date

Friday, 31 July EEEE, d MMMM

Relative

2 hours ago relative

Date format

How a date is written everywhere

Day first
OrderDay, month, year — as India writes it
SeparatorA slash in numeric dates
Month namesAbbreviated in lists, spelled out in documents
Two-digit dayLeading zero on numeric dates only
CalendarGregorian
5 settings

Time format

And the timezone it is read in

12-hour
Clock12-hour with AM and PM
Show secondsOnly in logs and audit trails
TimezoneAsia/Kolkata · GMT +5:30
Show the timezoneOff — every user is in the same one
Daylight savingNot observed in this timezone
N/A
5 settings
Section 06

Currency

How money is written.

Fee amount

₹1,28,400.50 ₹#,##,##0.00

Whole amount

₹12,400 ₹#,##,##0

On a receipt

₹ 12,400.00 ₹ #,##,##0.00

In words

Twelve thousand four hundred only spellout

Negative

(₹450.00) brackets, not a minus

Zero balance

₹0.00 never blank

Large total

₹3,74,60,500 Indian grouping

Secondary currency

$14,982.20 $#,##0.00

Currency

What money is expressed in

INR
Base currencyIndian Rupee — every amount is stored in this
Symbol₹ before the amount, with no space
Decimal placesTwo, always shown
GroupingIndian — 1,28,400 rather than 128,400
Negative amountsIn brackets, as an accountant expects
5 settings

Secondary currency

For overseas families only

Display only
EnabledShown alongside the rupee amount on invoices
CurrencyUS Dollar
Exchange rateEntered by hand each month, never fetched live
Rate set onManual rates avoid a payment changing between the screen and the gateway
01 Jul 2026
Used for paymentNo — collection is always in rupees
5 settings
Section 07

Number Format

Two characters that everything hinges on.

Whole number

1,428 #,##,##0

Decimal

79.85 #,##0.00

Percentage

94.2% #0.0%

Marks

479 / 600 no grouping under 1000

Separators

The two characters everything hinges on

. and ,
Decimal separatorA full stop
Thousands separatorA comma
GroupingIndian — the first group is three, then twos
Group under 1,000Off — marks and counts read better unbroken
4 settings

Rounding & display

How numbers are presented

2 places
Default decimal placesTwo, for money and averages
MarksWhole numbers only — set in academic settings
Academic
PercentagesOne decimal place
Trailing zerosKept on money, dropped on averages
Digit shapingWestern digits in every language, including Arabic
5 settings
Section 08

Timezone

What every timestamp means.

Timezone

What every timestamp is stored and shown in

IST
TimezoneAsia/Kolkata · GMT +5:30
StorageUTC in the database, rendered on the way out
UTC
Daylight savingNot observed in India
N/A
Per-user timezoneOff — everyone is in the same zone
Show zone on timestampsOff, for the same reason
5 settings

What the timezone touches

The places a wrong zone shows up first

Consistent
Attendance registers lock at 11:00 localNot 11:00 UTC, which would be 16:30 here and useless.
Fee due dates fall at end of day localA payment at 11:50 PM on the due date is on time.
SMS quiet hours run 21:00 to 09:00 localConfigured in SMS settings and read from here.
Audit logs record UTC and display localSo an exported log can be compared with another system.
4 dependent behaviours
Additional timezones

No additional timezone is configured

All three campuses sit in Asia/Kolkata, so every timestamp means the same thing to everyone and no conversion happens anywhere. If the school ever opens a campus in another zone, add it here and every schedule, deadline and log entry will be shown in the reader’s own time.

Section 09

RTL Support

What happens when the interface turns round.

Direction preview

The same screen, both ways round

ltr · en-IN, ta-IN, hi-IN
rtl · ar-AE

The sidebar, text alignment and progress fill all reverse. Icons that mean direction — back, forward, next — are mirrored too; icons that mean an object are not.

One language currently uses this

RTL support

How the interface flips

Enabled
RTL supportThe stylesheet carries both directions
Applied toArabic (UAE) — the only RTL language configured
ar-AE
Mirror directional iconsBack, forward and next reverse; a book or a person does not
Mirror charts and metersProgress fills from the right
Numbers stay left to rightDigits and dates read the same way in any direction
5 settings

Known RTL gaps

Where the flip is not complete

3 open
Report card layout does not mirrorPrinted documents stay left to right in every language, by decision rather than omission.
Two timetable grids overflow at narrow widthsThe period columns reverse but the sticky first column does not follow.
The AI module has not been reviewed in RTLIt is 41% translated, so this has not been worth doing yet.
Everything else has been checkedReviewed against Arabic on 22 Jun 2026.
Arabic is disabled while these stand
Section 10

Fonts

A face for every script.

A specimen line in each face. Indic and Arabic scripts need their own font — the Latin face has no glyphs for them, and without one the browser substitutes something that will not sit on the same baseline.

Inter Latin · en-IN, fr-FR

The quick brown fox jumps over the lazy dog

Default
Noto Sans Tamil Tamil · ta-IN

நந்றாக படிக்க வேண்டும்

Loaded
Noto Sans Devanagari Hindi · hi-IN

शिक्षा हमें आगे ले जाती है

Loaded
Noto Sans Malayalam Malayalam · ml-IN

വിാാലൊലാ ക്കുത്തികള്ര്്

Loaded
Noto Naskh Arabic Arabic · ar-AE

التعليم هو أقوى سلاح

Not loaded

Typography

Applied across the interface

Inter
Default fontInter, for Latin script
Base size14 pixels
Line height1.6 — a little generous, for scripts with tall marks
Font loadingSelf-hosted, no external request
Fallback stackSystem sans-serif, then sans-serif
system-ui
5 settings

Per-script adjustment

Where one size does not fit

2 adjusted
Tamil size adjustmentRendered 6% larger — the script sits smaller on the same em
Malayalam line height1.75 — conjunct forms are tall
Arabic size adjustmentNot set — the language is disabled
Pending
DevanagariNo adjustment needed at this size
Default
4 adjustments
Section 11

Regional Preferences

Names, telephone numbers, documents and sorting.

Names & addresses

Conventions that are easy to get wrong

India
Name orderGiven name first, then family name
InitialsExpanded on certificates, abbreviated in lists
HonorificsMr, Mrs, Ms, Dr — and Master for junior students
Address orderLine, area, city, state, PIN
Postal code labelPIN code, not ZIP
5 settings

Telephone

How a number is stored and shown

+91
Country codePrefixed to every stored number
Storage formatE.164 — no spaces, no punctuation
+919876544710
Display formatGrouped for readability
+91 98765 44710
Accept without a country codeA ten-digit number is assumed Indian
4 settings

Documents

What the school prints

A4
Paper sizeA4
OrientationPortrait, except the timetable
Document languageEnglish on every printed document
Numbers in documentsWestern digits and Indian grouping
Date on documentsSpelled out — 31 July 2026, never 31/07/26
5 settings

Sorting & search

Which order is alphabetical

Locale-aware
CollationSort using the rules of the reader’s language
Name listsSorted by given name, which is how registers are kept
Case sensitivityIgnored when sorting
Accent sensitivityIgnored when searching, so François matches Francois
Search across scriptsA Tamil name is found by typing it in Latin
5 settings
Section 12

Import / Export

Getting translations in and out.

A pack is a file of keys and their translations. Importing never removes a string; it fills empty ones and, if you allow it, replaces existing ones.

Accepted formatsJSON, XLIFF 2.0 and gettext PO
.json .xlf .po
On an existing translationKeep what is there unless the pack is marked authoritative
Unknown keysIgnored — a pack from a newer version will contain some
Mark imported strings for reviewNothing goes live untouched

Exports carry the key, the source English string and the translation, so a translator working outside the system has the context they need.

FormatXLIFF, which every translation tool reads
Include source stringsThe English alongside each key
Include only missing stringsA much smaller file for a translator
Include screenshotsNot available — the system has no screen context stored

No translation service is connected

Translations are managed by hand through import and export. Connecting a service such as Crowdin or Lokalise would keep the two in step automatically, but it also means sending every string to a third party — which is worth a decision rather than a switch.

Restoring returns every regional format — dates, numbers, currency, week start — to the defaults for the selected country. Languages, translations and the strings you have edited are untouched.

Section 13

Audit History

Every change, with the name against it.

Audit history

Every change to languages and regional settings, retained for 3 academic years

8 of 92 entries
31 Jul 202615:40
Malayalam enabled for the parent portalMs. Latha Rao · 58% translated at the time
28 Jul 202611:12
412 strings imported for TamilR. Sharma · XLIFF pack · all marked for review
22 Jun 202616:05
Arabic disabled pending RTL reviewMs. Latha Rao · three layout issues open
14 Jun 202609:30
Secondary currency display enabledMr. R. Venkatesh · USD, manual rate
02 Jun 202614:20
Indian digit grouping applied to all amountsMs. Latha Rao · was international grouping
18 May 202610:00
Noto Sans Malayalam addedIT · self-hosted, 214 KB
04 Apr 202608:15
Week start moved to MondayMs. Latha Rao · aligns with the attendance register
14 Jan 202611:00
Localization configured for the yearMr. R. Venkatesh · en-IN, Asia/Kolkata, INR
Entries cannot be edited or removed

Language activity

How this configuration reached its present state.

14 Jan 2026

Language added

Tamil configured alongside English, with Noto Sans Tamil self-hosted for the script.

28 Jul 2026

Translation imported

412 Tamil strings arrived as an XLIFF pack and were queued for review rather than published.

04 Apr 2026

Default language confirmed

English (India) kept as the default, with browser detection on for first-time visitors.

02 Jun 2026

Localization updated

Indian digit grouping applied to every amount, replacing international grouping.

04 Apr 2026

Regional settings published

Week start moved to Monday to match the attendance register, and A4 fixed for documents.

Active now

Configuration activated

Four languages live for 1,428 families and 96 staff. Arabic waits on three RTL layout fixes.

Translation insights

What the coverage figures suggest, and what is worth leaving alone.

ta Needs update

Tamil needs the most attention

672 strings are missing and 675 are awaiting review, most of them in the academic and AI modules. It is the second language for 41% of families, so the gap is felt more here than anywhere else.

Needs update
ar Blocked

Arabic is held back by layout, not translation

At 22% it would be incomplete either way, but the three open RTL issues are the actual reason it is disabled. Fixing the timetable grid would unblock a review.

Blocked
AI Missing

The AI module is the weakest across every language

41% average coverage against 78% overall. It also has the highest rate of new keys, so translating it now means translating parts of it again.

Missing
ml Watch

Malayalam was enabled at 58%

It went live on 31 July while still well short. Guardians using it will meet English text regularly, which is fine as a decision but worth stating rather than discovering.

Watch
627 Trend

New keys are appearing faster than they are translated

627 keys were logged as missing this month against 412 imported. At this rate coverage falls even while translators are working.

Trend
IN Good

Indian grouping is applied everywhere

Amounts read as 1,28,400 rather than 128,400 throughout, including on receipts and in exports. Worth keeping; mixed grouping in one system is a common and confusing fault.

Good
A4 Note

Printed documents stay in English

A deliberate choice rather than an omission. Report cards, certificates and transcripts are statutory documents and are kept in one language for the board and for onward institutions.

Note

Tamil — தமிழ்

ta-IN · enabled · 71% translated · last import 28 Jul 2026 by R. Sharma

Needs update

Language details

Native name
தமிழ்
English name
Tamil
Locale code
ta-IN
Direction
Left to right
Script
Tamil
Added
14 January 2026
Translation coverage
Translated and approvedAwaiting reviewMissing
71% translated3,422 of 4820 strings
Core System
94%Complete
Academic Module
76%In progress
Finance Module
88%Complete
Notification Module
82%In progress
AI Module
34%Needs work
Preview
fees.reminder.due
en-INFee of {amount} for {student} is due on {date}.Source
ta-IN{student} அவர்கள் {amount} கட்டணம் {date} அன்று நிலுவையில் ଢ଼ள்ளது.Approved

Placeholders in braces are never translated. A pack that alters one is rejected on import.

Regional configuration
RegionInherits from India
IN
Date formatSame as the regional default
31 Jul 2026
Number groupingIndian
1,28,400
CurrencyRupee symbol before the amount
₹12,400
OverridesNone — follows the region exactly
Inherit
Validation
Every placeholder matches the source string4,148 translated strings checked; none alters a brace.
The script has a fontNoto Sans Tamil, self-hosted, with a 6% size adjustment.
675 strings await reviewImported on 28 July. They are live only where approval before publishing is off, which it is not.
672 strings are missingMostly the AI module and the newer academic screens. These fall back to English.
Dependencies
Noto Sans Tamil Email templates SMS templates Parent portal

Disabling Tamil would move 584 families back to English at their next sign-in. Nothing is lost, but nobody is told, so it is worth a notice first.

Audit history
28 Jul 202611:12
412 strings importedR. Sharma · XLIFF · queued for review
12 Jun 202615:30
Size adjustment set to +6%IT · the script sat small at 14px
02 Apr 202609:00
Enabled for the parent portalMs. Latha Rao · 64% at the time
14 Jan 202611:00
Language addedMr. R. Venkatesh