Skip to content

Review the working interface

A translated label can be correct while the field beside it reads the wrong number. Review a task from entry to result: the language selected, the value entered, the value the application uses and the message it returns. A catalog review covers only part of that journey.

Use this page with the localization principles and the relevant language guide. These are review requirements, not claims that every FontLab or Vexy product offers the same language settings.

Record the settings separately

Before testing, record the application version, platform and these choices:

Choice What the reviewer needs to know
Interface language Which catalog supplies labels, help and error messages?
Formatting locale Which conventions govern displayed and entered numbers and dates?
Input method Which keyboard layout or input service produces the text?
Document language Which language metadata travels with the content?
Time zone Which zone applies to an event time shown to the reader?
Quantity What unit or currency belongs to the value?
Fallback What happens when a locale, translation or preference is unavailable?

An English interface can coexist with Polish number formatting. A French reader can view a price in US dollars. Test combinations that the product supports; do not derive these choices from the interface language. .NET, for example, uses separate settings for resource selection and formatting. See Microsoft's CultureInfo documentation.

For a website, browser language preferences can help choose an initial language. They do not establish a person's currency, address or time zone. Let an explicit supported choice take precedence and check what happens on a return visit. The W3C explains the limits of using Accept-Language for locale settings.

Follow text beyond the input field

Check input composition as well as committed text. With a supported input method editor (IME), select a candidate, cancel a composition, move focus and correct text already entered where reconversion is supported. Confirm that Enter commits the intended text without unexpectedly submitting the dialog. Keep the candidate window usable near field and window edges. Exercise shortcuts on the actual keyboard layout while the input method is active.

Include the other input services the product supports. Windows Text Services Framework can provide keyboard, handwriting and speech input; testing keystrokes alone does not cover those routes.

Use meaningful multilingual text in a document, a file name and a folder path. Save, reopen, copy and paste, then export or print through the supported routes. Open the same document under another supported interface language. Check the retained text and meaning, including combining sequences and characters outside the Basic Multilingual Plane. A successful display does not prove that an intermediate format, database field or external component preserved the data.

If an interchange format has an encoding declaration, check it against the actual bytes. Changing the declaration does not convert the data. Report any unsupported characters or lossy conversion explicitly. Preserve the original sample so a repair can be checked against it.

Review text behavior and the font actually used

Compare direct input with rich-text paste, plain-text paste and save/reload. Record which language and formatting metadata each route retains. The W3C's language metadata examples show why identical character codes can receive different language-appropriate forms. A change of appearance needs investigation before it is called corruption.

Check caret movement, selection, Backspace and Delete separately against the editor's intended behavior. Include combining marks, a supplementary character and a ligature. Use the distinctions in scripts and typography; a glyph count is not a character count or a rule for deletion.

Inspect the fonts actually supplying the glyphs at the shipped size and display scale. Fallback may remove an empty box while introducing a different baseline, weight or language form. Check marks above and below letters, mixed-font line height, wrapping and selected text. Preserve a specimen's chosen font when that font is what the task is examining. For vertical text, verify glyph orientation and punctuation in the supported layout; rotating a screenshot proves neither.

Follow a number through the task

For an editable measurement, note the intended numeric value and unit before looking at its spelling. In a field that accepts locale-formatted decimals, 1,25 may represent the same value that another locale displays as 1.25. Enter it, leave the field, perform the operation and reopen the value. Confirm that the value survives, rather than checking only the punctuation on screen.

For FontLab, include a fractional coordinate or dimension, a negative value and a grouped large value where the field permits them. Check pasted values as well as typed ones. If the parser requires a fixed syntax, the example and any error message must describe that syntax. Do not promise acceptance of a decimal comma because the surrounding labels are German or French.

Separate a displayed measurement from an identifier or executable fragment. An OpenType tag, a glyph name and a numeric literal in a Python example follow their own contracts. Translating nearby prose does not authorize changing them. UPM and PPM also describe different quantities: translating the unit label must not silently change the value's meaning.

Use the product's locale formatter for dynamic display. Avoid building number strings by swapping commas and periods: grouping, spacing and precision also matter. Record the accepted input format independently of the display format. A forgiving parser may accept a string and still interpret it incorrectly.

Keep dates and amounts attached to their meaning

Before localizing a date, identify what it represents. A release date is a calendar date. A scheduled demonstration has a time and a zone. A support-log timestamp identifies an instant. Do not apply a time-zone conversion to a date-only value and move it to the previous day.

For an event, check the displayed date as well as the hour after conversion. Include a case near midnight and, where relevant, a daylight-saving transition. An offset describes a relationship to UTC at a particular time; it does not uniquely identify a zone's rules. Microsoft's date and time type guidance explains why an offset and a time-zone identity are different information.

For a date field, record its calendar and era as well as its display pattern. If abbreviated years are accepted, verify the interpreted year. Reformatting a date does not define calendar arithmetic or the meaning of an anniversary.

If a screen uses week numbers, record its calendar and week-number convention. Check the end of December and the start of January, including the year attached to the week. A date's calendar year does not settle its week-based year. Avoid week-only deadlines in worldwide announcements unless the convention is clear.

Keep an amount paired with its currency. Changing a price's display locale does not convert USD to EUR. For a fictional test amount of 100 USD, verify that every localized view still represents 100 US dollars. A formatter may change spacing or symbol placement; a different currency or amount requires a separate, approved pricing decision. Check the code as well as the symbol when the symbol could be ambiguous.

Exercise missing resources and language changes

Test a missing translation deliberately in a test catalog. Record the resource key, requested locale, actual language shown and expected fallback. Test a missing regional variant separately from a missing message. Resource lookup rules differ across frameworks; verify the product's actual sequence instead of assuming that shortening a language tag always finds a suitable parent.

An intelligible fallback can keep a task usable. It does not count as a reviewed translation. Keep technical fallback results separate from the approved, proposed and protected terminology statuses used in this guide. Unexpected English, an empty label or a raw resource key should be traceable to a resource decision or a defect, rather than disappearing into a coverage percentage.

Check the fallback's meaning as well as its presence. It should identify the failed operation and a supported next action, not replace a specific error with an unexplained failure. If catalog loading fails, verify that the recovery instruction remains available without relying on that same catalog load.

When language switching is supported, check more than the first screen. Revisit an open dialog, trigger a validation error, open help and reload the page or restart the application as appropriate. Include notifications, file associations and shell menus when the product supplies them; these may load resources outside the main window. Record whether the change is immediate or requires a restart. Documentation must describe the observed behavior.

For embedded tools and plugins, include the messages supplied by the dependency. A localized host application does not prove that a plugin's validation messages use the same resources. Escalate missing translation support to the component owner; changing the surrounding label cannot repair it.

For a website, test a direct link to a translated page, a return visit and browser Back and Forward. Record which explicit choice takes precedence over saved or detected preferences. An unsupported first browser preference should not hide a later supported choice. Include script distinctions in the supported-locale policy; a shared language prefix alone does not establish a suitable fallback.

Open a feature with an empty resource cache, then repeat with cached resources. Where language changes can overlap a delayed request, check the language of the response that finally appears. Record load failures and stale text separately from missing translations. Check the delivered page's language declaration as well as its visible text when the server supplies a fallback.

Check direction without changing the content

Review the interface's reading order and the direction of inserted values separately. A right-to-left interface can contain a Latin glyph name, an OpenType tag or a mixed-script folder path. Check nearby punctuation, selection and copied text as well as the screenshot. The copied value must retain its logical order.

In HTML, use appropriate direction markup for the page and inserted content. Automatic direction follows the first strong character and needs review for mixed text; it is not a language detector. The W3C explains structural direction markup. Follow the shared bidirectional-text guidance for inline values.

Do not treat every left/right distinction as reading direction. In a font editor, outline geometry, coordinate signs and commands that move a point have specific meanings. Record which interface arrangements should follow reading order and which illustrations or controls represent unchanged geometry. A mirrored view must not silently describe a different operation.

Use pseudo-localization as an early check

A pseudo-localized build can reveal text that escaped extraction, clipped labels and missing character support before translations are ready. Use a tool that preserves the message syntax: placeholder identifiers, markup and escapes must remain functional. Exercise complete tasks so that delayed errors and accessible names are included.

Include help, embedded images and right-to-left layouts where they are in scope. An unchanged user value, technical identifier or external component may be intentional; trace the source before counting it as missed extraction.

Retain the failures and rerun their cases after repair. Pseudo-localization does not establish natural wording, correct agreement or approved terminology. Follow it with real-language review and the existing FontLab rules for compact controls.

Check matching separately from wording

Search and sorting need their own review. Include letters whose case mappings differ from English, such as Turkish I, ı, İ and i, in a supported language's test data. Record whether the field searches natural-language labels, literal identifiers or both, and check the intended matching rule for each.

Do not repair a failed lookup by changing a user's text or translating a resource key. A displayed name and the identifier behind it have different purposes. Keep glyph names, feature tags and other technical identifiers subject to their documented rules, even when the surrounding list is localized. Microsoft's string comparison guidance distinguishes linguistic comparisons from comparisons of symbolic data.

Symptoms and what they mean

A symptom suggests a place to investigate; it does not establish the cause.

On screen Check first
???? in place of letters Original data and each encoding conversion
Accented junk (ä, ł) Actual bytes and the encoding used to decode them
Empty boxes Text data, selected font, glyph coverage and fallback
An English label in a translated dialog Resource ownership, catalog entry, loading and fallback
An English Cancel beside translated buttons The framework catalog shipped and loaded for that locale
A capital with a diacritic clipped at the top (Ą, Ę, Ż, É, Ä) Line height, actual font metrics and the clipping area
Two menu items with the same underlined letter Mnemonics in the active context, including runtime-inserted items
Two periods after a message The resource text and punctuation added during assembly

Also check list separators, the formatter's grouping threshold and the specified paper size for print or PDF output. Record the actual locale, user overrides and output target instead of inferring them from geography. Exercise casing and comparison with ß and Turkish i, recheck the order of translated lists, and verify that an unloadable catalog produces the documented fallback or error.

During the pass, enter invalid data to trigger long and assembled messages; open every dialog in every state, because dynamic dialogs show more than the catalog; compare each menu item with the title of the dialog it opens; count menus, options and commands against the English build; check tab order and that every combo box lists every option; trace each English leftover to its resource and fallback decision; and test on a target-language operating system so that its own defaults and messages are distinguishable from the application's. Sort a list containing ä, ß, ł, ż and ñ and compare with the locale's collation. For natural-language search, include precomposed and decomposed diacritics and check the intended equivalence rule. Literal identifiers retain their own comparison contract.

To isolate a catalog-dependent failure, use disposable test builds and preserve resource keys, placeholders and valid catalog syntax while narrowing the changed entries. Keep an unchanged control build. An invalid test catalog introduces a new failure and cannot identify the cause of the original one.

A repeatable review record

Use a small set of cases that exposes different assumptions. Record the expected result before running each case, then retain the actual value or screenshot.

Case Evidence to retain
UI language differs from formatting locale Chosen settings, label language and formatted value
IME composition and correction Input method, candidate, commit/cancel actions and resulting text
Multilingual document or path round trip Original text, formats, retained metadata and reopened result
Fractional or negative measurement Entered string, interpreted quantity and reopened display
Ambiguous date input Accepted syntax and the actual interpreted date, or the validation message
Event near midnight or a clock change Original instant, target zone and displayed date and time
One currency shown in two locales Unchanged amount and currency identity in both displays
Missing message or locale Resource key, fallback sequence and actual displayed text
Language changed during a task Dialog, error, help and restart behavior
Search or sort with non-English case pairs Data type, comparison rule and actual matches or order

Attach defects to the responsible surface: source wording, translation, formatting, parsing, resource lookup or layout. Give the reproduction steps, build, locale settings, expected result and actual result. After a fix, repeat the original case. A new screenshot of the label alone does not prove that a numeric or fallback defect is resolved.