Hindi localization guide¶
Use these rules with the localization principles, Qt interface rules and Hindi language guide. Examples come from Font Book (macOS), with placeholders in Qt syntax, or are marked constructed. The term table decides terms.
Locale and register¶
Hindi for India, Qt locale hi_IN, Devanagari script. Address the reader
with the respectful आप verb form, without the pronoun: अपना चयन जाँचें
(Check your selection). Never use तुम or तू forms (करो, कर). Write आप
only in a question or a contrast. The reader's own things take अपना, not
आपका. Use plain modern Hindi. The application does not say मैं or हम.
Write कृपया only where the source says please.
Grammar of interface strings¶
macOS, Android and Windows name a command with the आप imperative (-ें, -एँ), object first, verb last.
| Element | Form | Example |
|---|---|---|
| Menu command, button | object + imperative | फ़ॉन्ट जोड़ें… (Add Fonts…), सहेजें (Save) |
| Checkbox, option | same imperative | ग्लिफ़ नंबर और नाम दिखाएँ (Display glyph number and name) |
| Menu, panel, dialog or group title | noun phrase, no verb | संपादन (Edit), फ़ॉन्ट प्रीव्यू (Font Preview) |
| Status, in progress | passive progressive, ellipsis | फ़ॉन्ट वैलिडेट किए जा रहे हैं… (Validating fonts…) |
| Success | passive perfective | फ़ॉन्ट हटाए गए (Fonts Removed) |
| Failed attempt | नहीं … जा सका | फ़ॉन्ट इंस्टॉल नहीं किया जा सका। (Could not install font.) |
| Present inability | नहीं … जा सकता | फ़ॉन्ट डाउनलोड नहीं किया जा सकता (Cannot Download Font) |
| Confirmation | क्या आप … चाहते हैं? | क्या आप चयनित फ़ॉन्ट को हटाना चाहते हैं? (Do you want to remove the selected fonts?) |
| Tooltip that describes | third person, present, no subject | संपादित किए गए सैंपल को उचित डिफ़ॉल्ट मान पर रीसेट करता है। (Resets the edited sample to the appropriate default value.) |
| Tooltip that instructs | imperative | %1 डाउनलोड करने के लिए क्लिक करें (Click to download %1) |
A passive participle agrees with its object: फ़ॉन्ट हटाए गए, but feminine फ़ाइल सहेजी गई (constructed). Never use the infinitive (खोलना) as a command. A one-word source can be a noun or a verb: Duplicate is नक़ल as a label and नक़ल बनाएँ as a command.
Compact labels¶
Shorten by dropping what Hindi allows: optional को (फ़ॉन्ट हटाएँ), का in a noun compound (फ़ॉन्ट आकार, Font Size), है at the end of a title (कोई फ़ॉन्ट चयनित नहीं, No Font Selected), and by a simple verb in place of noun + करें (चुनें, not चयन करें). Never drop the verb of a command, a postposition that carries meaning (में, से, पर), a nukta or a vowel sign. Hindi has no standard abbreviations: never cut a word short. Units keep their Latin symbols (pt, px, mm).
Plurals and placeholders¶
A Qt numerus string has two forms. Fill both, each with %n:
| Form | Selected by | Example |
|---|---|---|
| 1 | exactly 1 | %n फ़ाइल, %n फ़ॉन्ट हटाया गया (after एक फ़ॉन्ट हटाया गया) |
| 2 | every other number: 0, 2, 5, 100 | %n फ़ाइलें, %n फ़ॉन्ट हटाए गए |
CLDR counts 0 as one in Hindi; Qt sends 0 to form 2. Never write एक for
%n. Feminine nouns change in the plural (फ़ाइलें, शैलियाँ); masculine
nouns ending in a consonant do not (फ़ॉन्ट), but the verb and adjective do.
Before a postposition the plural is oblique: %n फ़ाइलों में (in %n files).
No English -s (फ़ॉन्ट्स). Test 0, 1 and 2. A count in a plain %1
takes label and value: फ़ाइलें: %1 (constructed).
A placeholder that stands for a noun has unknown gender and number, and Hindi verbs, participles, -आ adjectives and का/के/की agree. Do not guess:
- Put को after the placeholder; the verb then stays masculine singular for any value: “%1” को हटाया नहीं जा सका (constructed), %1 को समेटें.
- Or add a class noun after the quoted name; it carries gender and the oblique case: “%1” लाइब्रेरी में समस्याएँ हैं।, “%1” नाम की फ़ाइल.
- Or use a noun label and value: फ़ाइल: %1 (constructed).
A postposition may follow a placeholder directly only when the value is a name: %1 में फ़ॉन्ट जोड़ें… (Add Fonts to %1…). का/के/की agree with the noun after them: “%1” की सभी शैलियाँ. Beside a placeholder use adjectives that do not inflect (चयनित, सक्रिय, अमान्य), not नया/नई/नए. Reorder numbered placeholders freely: ग्लिफ़ %1 से %2 तक (Glyphs %1 to %2).
Numbers, punctuation and spacing¶
- Western digits, as on macOS and Android: पिछले 7 दिन (Last 7 Days); never ०–९.
- Decimal point
.; Indian grouping12,34,567, which the locale produces at runtime. In a literal number keep the digits and regroup from six digits up (100,000becomes1,00,000); values such as1000and2048stay. 50%without a space; a space before a unit:12 pt.- A sentence ends with the purna viram । (U+0964), attached to the last
word, as macOS and standard Hindi spelling have it. Android, KDE and
Microsoft's style guide use the full stop; FontLab follows macOS. Never
type
|or ॥. Add it only where the source sentence has a period; a label has none. Other marks are the English ones. - A colon is attached, as in the source and on Android: भाषाएँ:. macOS sets a space before it (भाषाएँ :); FontLab does not. Never type the visarga ः for a colon.
- Quotation marks are “…”, inner ‘…’. Keep the source ellipsis character.
- One ordinary space separates Devanagari from a Latin word, a number or a placeholder: Finder में दिखाएँ. A postposition is a separate word after a noun and joined to a pronoun: %1 में, इसमें.
Mnemonics and key names¶
A Devanagari letter cannot be typed with Alt. Append the source's letter in
uppercase as (&X) after one space, as KDE's Hindi does: फ़ाइल (&F). It
goes before a final colon or ellipsis: &Open... becomes खोलें (&O)...
(constructed). Qt strips (&X) and the space on macOS. Add no mnemonic the
source lacks; a label that stays Latin keeps its &; && is a literal
ampersand: write और.
Key names stay in Latin script: Shift, Ctrl, Alt, Cmd, Option, Enter, Esc, Tab, Delete, Backspace, Space. In a sentence add कुंजी (feminine): Shift कुंजी दबाए रखें (constructed).
Names and loans¶
Product, company and format names, OpenType tags, table and glyph names, units and code stay in Latin script: PostScript नाम, not पोस्टस्क्रिप्ट. A Hindi class noun or postposition follows as a separate word: Apple फ़ॉन्ट, macOS पर. Attach no Devanagari ending or hyphen.
Where the term table is silent, transliterate the word Hindi users say in English (फ़ॉन्ट, फ़ाइल, डिफ़ॉल्ट, प्रीव्यू) and translate plain actions and qualities (सहेजें, हटाएँ, छिपाएँ, नाम, आकार). A loan verb is the loan plus करें: इंस्टॉल करें. Spell loans as Font Book does:
- nukta for f and z, and in Urdu words: फ़ॉन्ट, डिज़ाइन, ग़ैर, नक़ल;
- ॉ, ऑ for the English short o: कॉपी, ऑटोमैटिकली;
- ै, ऐ for the a of access: ऐक्सेस, सैंपल;
- anusvara for a nasal before a consonant (कंप्यूटर, पॉइंट), except in फ़ॉन्ट; a conjunct for a consonant cluster (ग्लिफ़, स्टाइल).
Keep one spelling per word.
Script-specific rules¶
- Encode a nukta letter as base letter + U+093C (फ़ is U+092B U+093C), the normalized form; type ऑ as U+0911. Add no ZWJ or ZWNJ.
- Chandrabindu on a nasal vowel with nothing above the headline (हटाएँ, शैलियाँ); anusvara where a vowel sign rises above it (में, करें, नहीं).
- Standard spellings: गए, गई, लिए, चाहिए, जाएँ, not गये, गयी, लिये, जायें.
- Devanagari has no capitals: ignore English title case. Latin names keep their case.
- A conjunct with its vowel signs is one unit: never break inside it. Marks above and below the line clip in tight controls.
False friends and traps¶
- Sanskrit coinages nobody says: संचिका (file), संगणक (computer). Office Hindi: हेतु, एवं, तथा; write के लिए, और.
- Senses that are wrong for type; the term table gives the word: master as स्वामी, character as चरित्र, face as चेहरा, bold as साहसी, anchor as लंगर, stem as तना, case as मामला. Family Name is not उपनाम (surname). A writing system is लिपि; स्क्रिप्ट is program code.
- Machine errors: एक for every a; आपका for अपना; तुम forms; the verb not last; a gender guessed for a placeholder; calqued द्वारा passives; two spellings of one loan (फाइल, फ़ाइल).
Review¶
Check first: the purna viram, never |; the imperative on every command;
agreement around each placeholder; both numerus forms with 0, 1 and 2; nukta,
chandrabindu and encoding; Latin names untouched; (&X) mnemonics; one
spelling per loan; clipped marks in the running build. Qt ships no
qtbase_hi catalog: Qt's own buttons and shortcut names stay English unless
the build supplies them.
FontLab terminology and compact labels¶
Preserve deliberately uppercase source labels using the language’s case rules. Keep numeric controls compact with UPM, PPM and LSB/RSB (French AG/AD); explain the full terms in help. The Family Dimensions “Units Per eM:” label is an intentional expanded exception.
Use the current core memory and its approval status. OpenType lookup defaults to the translation of procedure, with a different term only when strong OpenType-specific evidence supports it. Explicit choices are German Lookup, French lookup, Polish procedura and Russian процедура. Ordinary searches, individual rules and OpenType features are separate concepts. Preserve literal code keywords and identifiers.
Translate Fusion with the fallback Welder. Use the core's phonetic FontAudit transliteration in non-Latin scripts, including Chinese; preserve FontAudit in code. Proposed spellings remain proposed. Before rebuilding a QPH, recover team edits and import their terms and notes into the core memory.
Compare mnemonic-split terms with unmarked labels. Keep labels compact, aiming for 120% of the English length in Dimensions and Glyph Window preferences without losing meaning. Omit redundant font, color or command wording when context supplies it. TTH labels can omit “use” and abbreviate TrueType hinting; help can explain more. A full harmonization requires three complete catalog reviews, then reconciliation of help with the final UI and verification of generated resources.
Current terminology¶
The Hindi term table, generated from localization/hi-core.tmx, is the
terminology authority. Use its definitions to select the right concept and its notes for grammar and
usage. Check each entry’s status: team-approved decisions and proposed translations are distinct.
A proposed term still stays consistent across the interface and help; consistency does not confer approval.
For a missing term, translate the fallback original term and record the proposal with its reason.
The terms that other strings are built from:
| English | Hindi |
|---|---|
| glyph | ग्लिफ़ |
| character | वर्ण |
| family dimensions | परिवार आयाम |
| master | मास्टर |
| instance | इंस्टेंस |
| interpolation | इंटरपोलेशन |
| axis | अक्ष |
| variable font | वेरिएबल फ़ॉन्ट |
| kerning | कर्निंग |
| kerning pair | कर्निंग जोड़ा |
| kerning class | कर्निंग क्लास |
| tracking | ट्रैकिंग |
| metrics | मेट्रिक्स |
| sidebearing | साइडबेयरिंग |
| left sidebearing | बाईं साइडबेयरिंग |
| right sidebearing | दाईं साइडबेयरिंग |
| advance width | एडवांस चौड़ाई |
| UPM | UPM |
| font unit | फ़ॉन्ट यूनिट |
| baseline | आधार रेखा |
| x-height | x-ऊँचाई |
| cap height | कैपिटल ऊँचाई |
| ascender | एसेंडर |
| descender | डिसेंडर |
| overshoot | ओवरशूट |
| stem | स्टेम |
| counter | काउंटर |
| serif | सेरिफ़ |
| terminal | टर्मिनल |
| contour | कॉन्टूर |
| node | नोड |
| handle | हैंडल |
| segment | खंड |
| extremum | चरम बिंदु |
| element | एलिमेंट |
| component | कंपोनेंट |
| reference | रेफ़रेंस |
| layer | लेयर |
| anchor | एंकर |
| guide | गाइड |
| hint | हिंट |
| hinting | हिंटिंग |
| autohinting | ऑटोहिंटिंग |
| feature | फ़ीचर |
| lookup | प्रक्रिया |
| OpenType class | OpenType क्लास |
| mark | मार्क |
| ligature | लिगेचर |
| smart | चतुर |
| Smart Corner | चतुर कोना |
| Power Brush | दमदार ब्रश |
| Power Guide | दमदार गाइड |
| Power Nudge | दमदार धक्का |
| Power Stroke | दमदार स्ट्रोक |
| Nudge | धक्का |
| Servant node | पिछलग्गू नोड |
| Genius node | जीनियस नोड |
| Tunni line | टुन्नी रेखा |
| cousins | रिश्तेदार |
| Sketchboard | स्केचबोर्ड |
| Skin | छिलका |
| Matchmaker | जोड़ीसाज़ |
| match | मिलान करें |
| True Fill | असली भरण |
| Dream Up | सपने बुनें |
| Remove Overlap | ओवरलैप हटाएँ |
| decompose | कंपोनेंट तोड़ें |
| panel | पैनल |
| property bar | प्रॉपर्टी बार |
Rapid tool and Quick Help references¶
The tool name is रैपिड. Use रैपिड से ड्रॉइंग for Rapid draw and रैपिड से संपादन for Rapid edit. Keep the name distinct from ordinary descriptions of speed and from the Vertical rapid and Horizontal rapid contrast classifications. Do not use Rapidograph as the tool name.
This is the local-script transliteration of Rapid. Its spelling follows the current TS catalog; the core records its review status separately.
For Quick Help, match tool, panel, option and command references to the current
TS catalog in the same control context. Keep inflection natural in sentences.
If a core entry differs, reconcile it with the catalog before regenerating
phrasebooks. A compact UI label and its full prose explanation can differ.
Check the current English conditions and consequences: disabling Cloud also
disables mark/mkmk generation, and mark generation requires Cloud. Preserve
mark and mkmk as literal OpenType feature tags.
Quick Help control references¶
Use the canonical action name within natural Hindi grammar. For example, write धुँधला करें क्रिया and “धुँधला करें” क्रिया के विकल्प, rather than turning the imperative label into an adjective. ActionDisconnect is named ओवरलैप बनाएँ; its old English Disconnect wording does not rename it.
The Lookups panel is नियम, while an individual OpenType lookup is प्रक्रिया. Write नियम पैनल when referring to its data, so the panel name cannot be confused with a single rule. Preserve code identifiers. Use सुपर कर्निंग, कर्निंग जोड़े, क्लास, प्रीव्यू and चतुर फ़िल्टर in references to those controls and features.
Context determines the Blur label: the action is धुँधला करें, whereas the Overlay value is धुंधलापन. Keep accurate explanatory prose when no matching control label requires a different word. A label found elsewhere in the catalog does not establish the wording of a newly added control.
Context-specific Quick Help labels¶
Use the runtime Set Metrics choices from FontLabUI.action_setmetrics:
बराबर रखें and ऑटो + समायोजन. The static dialog's older label does
not override choices populated by its implementation. In references to the
Glyph panel's Auto space button, use ऑटो स्पेस करें.
The transform and single-node toolbar origin selectors use मूल बिंदु. The single-node toolbar's Exclude contours command is कॉन्टूर बहिष्कृत करें; the MainWindow Exclude command is बाहर रखें. Match the actual control. Bar_Skin uses आधार ग्लिफ़ and लंबवत (Y) स्केल. BrushProperties uses विस्तारित करें, while other expand commands may use पक्का करें. References to the old Thickness tool use its current name, स्टेम; ordinary thickness remains मोटाई.
Blend-preview mode choices are literal text and table, created without
translation in blendpreviewdialog.cpp. Keep those values and describe
those actual choices. Do not copy the source's single-frame/waterfall
examples. Similar-looking words elsewhere in the catalog do not translate
these runtime values.
In Bar_Metrics, Bind left/right sidebearing uses बाँधें. Do not replace it with बाइंड from an unrelated control. Text Shape is टेक्स्ट शेप; its font size is in फ़ॉन्ट यूनिट, not a new UPM setting. Distinguish that output size from the source font's units per em.
The Find Outline section names are खोज and बदलाव; its buttons are खोजें and बदलें. Keep these distinct in instructions. The Import Classes acceptance button is ठीक है, despite the old Find help heading. DlgNameSuffix uses सफ़िक्स; DlgCreateGlyphs has a separate प्रत्यय field.
In Export Font, अतिरिक्त प्रोफ़ाइलों का चयन हटाएँ keeps the selected
profile enabled, not the first profile. Axis Graph retains literal style
names such as Regular and Bold; the upper normalized range is 0 to +1.
Check suffix-help aliases against the actual UI layout: Name Suffix
label_5 belongs to .case, label_7 to .numr, label_9 to .onum,
label_10 to .pnum, and label_12 to .dnom. The .case suffix refers
to case-sensitive forms, not Capital Spacing (cpsp); see the
OpenType registry.
The button-text handler determines which suffix is entered. Old tooltips
that call .case Smallcaps or .sups Subscript do not change that behavior.
Delta, feature and metric help¶
Set Delta uses डेल्टा H/V for offsets from the node and X/Y स्थिति for absolute target coordinates. The latter equal the original coordinate plus the offset. These values are not normalized interpolation factors. The Remove Classes acceptance button is ठीक है; its old Find heading is a source error.
Use व्यू पैनल for the panel, स्नैप for the Snap menu and सुझाव for the Suggest submenu. Safe Zone fields retain सुरक्षित क्षेत्र शीर्ष and सुरक्षित क्षेत्र तल. FontInfoPanel uses वक्र तनाव and कोने का तनाव; a label from another tension control does not override it.
कंपाइल पर अपडेट करें updates automatically generated feature code before
compilation. The class-import action imports the enabled Classes-panel
class/tag definitions into the feature prefix. It does not import an
external file. Check its dynamic menu wording against the implementation.
Keep runtime Plain, Italic and Oblique slope values and font-owned
style-name examples in English, even where static UI text has translations.
Naming, axes and widget contexts¶
Fonts-panel naming commands modify selected fonts. Build Style Names builds typographic style names; the family commands copy or derive naming metadata. Italic Styling retains only the italic distinction in style linking; Separate Styling sets Regular linking and uses each full font name as its styling group name. Do not describe these commands as merely regrouping the panel or as operating on all open fonts. Optimal Styling rebuilds styling group names and links; the handler does not establish a CSS compatibility guarantee.
Runtime script names in FontToolTip and GlyphWindow come from ICU. Preserve
Latin, Cyrillic and Arabic when giving examples of those displayed values.
GlyphWindow translates Auto and Default separately. Ordinary explanatory
references to the Latin writing system can use लैटिन.
GW_Glyph Bind is बाइंड करें, distinct from Bar_Metrics बाँधें. GW_Component Slant is तिरछापन; GW_Shape Slant is झुकाव. GW_Skin uses बेस ग्लिफ़ नाम and ऊर्ध्वाधर (Y) स्केल; Bar_Skin uses its own आधार ग्लिफ़ and लंबवत (Y) स्केल labels. Preserve these contexts.
Info_Axes uses the full labels ऑटो-मिलान करते समय मास्टरों की ज्यामिति जाँचें and मास्टरों का ऑटो-मिलान करते समय कॉन्टूर और आरंभ नोड क्रमबद्ध करें. LocationPanel has shorter labels, including आरंभिक नोड. Info_Dimensions' bounding-box button is फ़ॉन्ट बाउंडिंग बॉक्स अपडेट करें; “Auto BBox” is an older help description. Safe top/bottom here are सुरक्षित शीर्ष/तल, distinct from the Safe Zone labels in other contexts.
Variation selectors and main-window commands¶
InspectorGlyph बेस ग्लिफ़ पर जाएँ selects the default glyph for the variation sequence's base Unicode character. It does not navigate to a component source. Unicode सेलेक्टर and त्वचा रंग मॉडिफ़ायर switch the variation editor's mode; they do not assign a sequence by themselves.
InspectorGlyph's sidebearing locks use बाँधें, as do Bar_Metrics locks; GW_Glyph's separate Bind action uses बाइंड करें. MainWindow Autospace is ऑटोस्पेस करें, while the Glyph panel uses ऑटो स्पेस करें. The Lookups panel's import button is फ़ीचर पैनल से इंपोर्ट करें. Do not restore the source's misleading Add feature/Remove feature headings for its lookup controls.
MainWindow Soften uses मुलायम करें; FilterPanel uses सॉफ़्ट करें. The grid preference is फ़ॉन्ट का इटैलिक कोण अपनाएँ, distinct from MainWindow's shorter इटैलिक कोण अपनाएँ command. Generate Instance opens DlgGenerateInstance, titled इंस्टेंस निर्माण; the Variations popup DlgCreateInstance has the separate title इंस्टेंस बनाएँ.
The power-guide command is दमदार गाइड अनलिंक करें, despite its old Disconnect help heading. Preserve command versus dialog distinctions such as आउटलाइन ढूँढें / आउटलाइन खोज and मेट्रिक्स इंपोर्ट करें / मेट्रिक्स इंपोर्ट. Quote imperative dialog titles in prose where needed: “फ़ॉन्ट एक्सपोर्ट करें” डायलॉग.
History and import behavior¶
Rewind and Fast Forward change the history interpolation slider by ten; they do not step between snapshots. The Pairs-panel import control opens an external pairs list or sample text file according to the active mode. Its old “Open fonts” caption does not describe the handler.
Use कोने अलग करें for the shared Contour: Unlink corners tooltip. The inspector inherits actionNodeUnlink, whose text is Disconnect Corner; do not substitute the distinct actionNodeDisconnect label Unlink Corner. Keep MainWindow स्मूद टॉगल करें distinct from स्मूथ बनाएँ. The Attach tool remains अटैच, despite an internal buttonMagnet name. Use स्टेम for the current tool referenced by old Thickness help.
Preference labels and preview controls¶
Match the property-set context: Open Fonts uses सुबोध for Friendly, while naming preferences use सुगम and the main menu uses फ़्रेंडली. PanelTransform uses लंबवत झुकाव, distinct from the vertical-slant wording in GW_Transform. Keep generic vertical-position prose when the actual PinsPanel field is Y स्थिति; do not borrow an InspectorGuide label.
Preview uses प्रीव्यू ब्लर करें and ब्लर तीव्रता. Its command Repeater डालें inserts a current-glyph placeholder at the cursor or end. This is separate from the image-filter and overlay Blur labels.
Use कर्व रूपांतरण, रूपांतरण टॉलरेंस, ऑफ़-कर्व पॉइंट, सर्टिफ़िकेट फ़ाइल and the actual कर्निंग ऑडिट की न्यूनतम दूरी preference label. The short-curves option adds on-curve nodes between groups of off-curve points; the source's final on-curve-sequence description is wrong. Checking Hide password masks the password; its old English On description reverses that behavior. MeasureWidget uses a dynamic option label and a toggle; its designer sample “Text” is not a measurement-mode name.
Hinting, color and repeated-help checks¶
Single-link hinting can round a stem or link length, or align its destination point. It does not offer the zone selector claimed by older help. Center rounding targets pixel centers; double-grid rounding uses half-pixel steps. The alignment dialog label is पॉइंट संरेखित करें. Triple hints simulate PostScript triple-stem behavior by keeping stem distances equal across sizes.
WidgetArrange controls move the active element through the stacking order; their copied sidebearing-alignment descriptions are wrong. The color Box panel assigns hue, saturation or brightness to the bar and the remaining two components to the area. The internal Lightness action displays चमक; the same parameter selector chooses slider modes in Sliders view.
Use दृश्य for the View menu and व्यू पैनल for the View panel.
InspectorNode inherits MainWindow actions: हार्मोनाइज़ करें and
सरल करें. BrushProperties विस्तारित करें remains distinct from
Bar_Brush पक्का करें. Preserve literal Latin, Regular and Normal
where these are runtime selector values. Translate click and drag gestures
while retaining modifier keys, multipliers and markup.