i18n: Tamil (ta) interface catalog (#2159)

Adds ta.toml with every UI string, command label and menu wording, marked draft.
Desktop draws Tamil with an installed face (#2018); the web picker leaves Tamil out
until craft-fonts has Noto Sans Tamil, like Georgian and Arabic, with a test.
docs/translating.md gains Tamil's entry, typography notes and a Tamil draft section.
This commit is contained in:
Ragulsundaram committed 2026-11-09 18:45:27 +05:30
1 parent 79c363466a
commit 50a76d0914
3 files changed
+2716 -1

No files matched your search

File diff suppressed because it is too large. Load diff
+13
View File
@@ -131,6 +131,11 @@ fn shows(code: &str, web: bool) -> bool {
// Arabic; keep the catalog out until an embedded Arabic fallback is supplied.
return figcraft_text::face_with_char('ع', &["Noto Sans Arabic"]).is_some();
}
if code.split('-').next() == Some("ta") {
// Desktop draws Tamil with a system face (#2018); the web has none until craft-fonts
// carries Noto Sans Tamil.
return figcraft_text::face_with_char('த', &["Noto Sans Tamil"]).is_some();
}
let need = language(code);
need == 0 || samples(need, 0, traditional(code)).iter().all(|(c, families)| figcraft_text::face_with_char(*c, families).is_some())
}
@@ -228,6 +233,14 @@ mod tests {
assert_eq!(shows("ar-SA", true), face);
}
#[test]
fn the_web_offers_tamil_only_with_its_face() {
assert!(shows("ta", false), "desktop always lists Tamil");
let face = figcraft_text::face_with_char('த', &["Noto Sans Tamil"]).is_some();
assert_eq!(shows("ta", true), face);
assert_eq!(shows("ta-IN", true), face);
}
/// The UI language's script leads the fallback order; the others follow.
#[test]
fn the_ui_language_script_comes_first() {
+18 -1
View File
@@ -24,6 +24,8 @@ assistance and reviewed by a native speaker, and stays a draft until a maintaine
Russian (`ru`, Русский) was reviewed and approved by VanTan; its catalog keeps Frame and
Smart animate as familiar tool names and uses « » quotes. Turkish (`tr`) was machine-drafted and
reviewed by a native speaker, and Swedish (`sv`) translates every UI string, command label and menu wording.
Tamil (`ta`, தமிழ்) was machine-drafted and reviewed by a native speaker, and stays a draft until a
maintainer changes its status.
## The catalogs
@@ -76,7 +78,11 @@ written in Latin script with ijekavian forms and Bosnian words (historija, hilja
sedmica), uses bare imperatives for buttons and menu items (Sačuvaj, Izbriši) and the formal Vi for
instructions (Odaberite, Kliknite), „ “ quotes, and consistent design terms (okvir, sloj,
komponenta, instanca, varijanta, automatski raspored, ograničenja, ispuna, obrub, efekat, varijabla,
stil, način for a variable mode, dodatak for a plugin).
stil, način for a variable mode, dodatak for a plugin). Tamil uses modern written Tamil, bare
imperatives for buttons and menu items (சேமி, நீக்கு), the polite -கவும் for instructions
(தேர்ந்தெடுக்கவும்), Western digits, and design terms in Tamil script as Tamil designers say them
(ஃப்ரேம், லேயர், காம்போனென்ட், இன்ஸ்டன்ஸ், ஆட்டோ லேஅவுட்) while everyday words are translated
(கோப்பு, பக்கம், நிறம், ஏற்றுமதி). A case ending follows a placeholder after a space (`{name} கோப்பை`).
CJK and Thai text need their own fonts, which egui and Inter lack: the desktop app adds an installed
one when something on screen needs it, so layer and page names in those scripts show whatever the
@@ -117,6 +123,17 @@ that face out, so Arabic is not offered on the web yet. No font is added to
this repository. The interface's panels are not mirrored; this catalog does not claim a complete
right-to-left interface. Native review and representative in-app checks remain required.
## Tamil draft
`ta.toml` adds தமிழ் as a draft: 2,012 UI entries, 630 command labels and 31 menu wordings
(2,673 entries, measured 2026-11-09), covering every English key. Drafted with AI assistance against a
fixed style guide and glossary, then reviewed by a native speaker (#2159).
The desktop UI draws Tamil in an installed face (Tamil Sangam MN, Nirmala UI or Noto Sans Tamil,
#2018); no font is added to this repository. The web picker leaves Tamil out until craft-fonts has
Noto Sans Tamil. Tamil runs longer than English: the left rail's Variables label and the frame type
dropdown cut it off.
## Traditional Chinese (Taiwan) draft
`zh-Hant.toml` adds 繁體中文(台灣) as a draft: 1,975 UI entries, 641 command labels and 31 menu