Skip to content
Novus Examples
csv953 B

Locale Number Formats — twelve locales (CSV)

The same number, 1234567.89, rendered for twelve locales, with the group and decimal separator that produced each one named by code point and present literally in the cell. Four of the separators are not ASCII — U+00A0, U+202F, U+2019 and U+066C — and ar-EG additionally switches the digits themselves.

Preview — first 14 linescsv
locale,language,groupSeparatorName,groupSeparator,decimalSeparator,formatted_1234567_89,numberingSystem
en-US,English (United States),COMMA,",",.,"1,234,567.89",latn
en-GB,English (United Kingdom),COMMA,",",.,"1,234,567.89",latn
en-IN,English (India),"COMMA (3,2,2 grouping)",",",.,"12,34,567.89",latn
de-DE,German (Germany),FULL STOP,.,",","1.234.567,89",latn
de-CH,German (Switzerland),U+2019 RIGHT SINGLE QUOTATION MARK,’,.,1’234’567.89,latn
fr-FR,French (France),U+202F NARROW NO-BREAK SPACE, ,",","1 234 567,89",latn
es-ES,Spanish (Spain),FULL STOP,.,",","1.234.567,89",latn
pl-PL,Polish (Poland),U+00A0 NO-BREAK SPACE, ,",","1 234 567,89",latn
ru-RU,Russian (Russia),U+00A0 NO-BREAK SPACE, ,",","1 234 567,89",latn
ja-JP,Japanese (Japan),COMMA,",",.,"1,234,567.89",latn
zh-CN,"Chinese (Simplified, China)",COMMA,",",.,"1,234,567.89",latn
ar-EG,Arabic (Egypt),U+066C ARABIC THOUSANDS SEPARATOR,٬,٫,١٬٢٣٤٬٥٦٧٫٨٩,arab

Specifications

Rows
12
Columns
7
Sample Value
1234567.89
Separator Code Points
U+002C, U+002E, U+00A0, U+202F, U+2019, U+066B, U+066C
Numbering Systems
latn, arab
Delimiter
,
Header
true
Seed
20260807
Wave
p7
Line Endings
LF

Testing contract

Reference control
Scenario
Parse each formatted value back to 1234567.89 using the separators in the same row.
Expected result
A parser that strips only ASCII commas and spaces fails on fr-FR, pl-PL, ru-RU, de-CH and ar-EG; the non-breaking and narrow-no-break spaces must survive the CSV round trip rather than collapsing to U+0020.

What is a .csv file?

CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.

How to use this file

Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.

How to use this file for testing

“Locale Number Formats — twelve locales (CSV)” is a deterministic Novus Examples fixture for Internationalization, CSV parsing, Encoding detection. Parallel text and accented, multi-script content — for testing translation pipelines, Unicode handling, and localization tooling.

Documented properties for this file: seed 20260807 · 12 rows · 7 columns · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Translation-catalog fixtures carry the same message set across formats, each with its native placeholder syntax. Test your i18n loader, catalog converter, or translation-memory tool, and use the RTL and CJK variants to check bidirectional text and Unicode handling.

Load the catalog with your i18n framework and verify placeholder interpolation and plural handling; the RTL and CJK variants exercise bidirectional text and font fallback.

Code examples

import pandas as pd

df = pd.read_csv("number-formats.csv")
print(df.head())
print(df.dtypes)

Generated by generation/localization_p7.py. Free for any use, no attribution required — license.