From cd25aea6f13d968bee919d016fa3522dce3616d9 Mon Sep 17 00:00:00 2001 From: lilleman Date: Thu, 27 Aug 2026 23:16:29 +0200 Subject: [PATCH] Correct the format-string example, and stop Swedish name data composing a triple letter --- README.md | 9 ++++++--- data/sv_SE/person.json | 12 +++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fbd7580..97ae064 100644 --- a/README.md +++ b/README.md @@ -337,9 +337,12 @@ rejected at `New`. may be a `{..path}` reference too (`{name|..en_US.person}`). Inside a `format`, `0 1 A a` are **always** character classes — so a fixed digit -or letter must be escaped (`#1`, `#A`) or it becomes random. A format of -`100 Main St` renders e.g. `506 mdin street`, not `100 Main St`. For a value with -no tokens at all, use a bare string node (`"100 Main St"`), emitted verbatim. +or letter must be escaped (`#1`, `#A`) or it becomes random. Only those four +characters are classes: digits `2`–`9` and every other letter are literal. A +format of `100 Main St` renders e.g. `506 Mdin St` — the `1`, `0`, `0` and `a` +were random, the `M`, `in` and `St` were not. A half-fixed string is the trap: +`555-0100` keeps `555-` and randomises the last four digits. For a value with no +tokens at all, use a bare string node (`"100 Main St"`), emitted verbatim. **Putting it together** (`person.json`): diff --git a/data/sv_SE/person.json b/data/sv_SE/person.json index 1860ad0..164225a 100644 --- a/data/sv_SE/person.json +++ b/data/sv_SE/person.json @@ -7,14 +7,20 @@ { "format": "{first}sson", "weight": 5, - "first": ["Ander", "Arvid", "Bengt", "Daniel", "David", "Erik", "Fredrik", "Gustaf", "Henrik", "Håkan", "Isak", "Jakob", "Johan", "Jon", "Jöns", "Karl", "Lar", "Magnu", "Matt", "Mikael", "Mårten", "Nil", "Ol", "Per", "Petter", "Samuel", "Sven"] + "first": ["Ander", "Arvid", "Bengt", "Daniel", "David", "Erik", "Fredrik", "Gustaf", "Henrik", "Håkan", "Isak", "Jakob", "Johan", "Jon", "Jön", "Karl", "Lar", "Magnu", "Matt", "Mikael", "Mårten", "Nil", "Ol", "Per", "Petter", "Samuel", "Sven"] }, { "format": "{first}{last}", - "weight": 4, - "first": ["Ahl", "Berg", "Blom", "Ceder", "Dahl", "Ek", "Eng", "Falk", "Fors", "Gran", "Hag", "Hed", "Hell", "Holm", "Lind", "Lund", "Mal", "Norr", "Ny", "Rosen", "Sand", "Sjö", "Skog", "Söder", "Sten", "Strand", "Sund", "Wall", "Wik", "Öst"], + "weight": 3.6, + "first": ["Ahl", "Berg", "Blom", "Ceder", "Dahl", "Ek", "Eng", "Falk", "Fors", "Gran", "Hag", "Hed", "Holm", "Lind", "Lund", "Mal", "Ny", "Rosen", "Sand", "Sjö", "Skog", "Söder", "Sten", "Strand", "Sund", "Wik", "Öst"], "last": ["berg", "blad", "crona", "dahl", "ed", "fors", "gren", "holm", "in", "kvist", "löf", "lund", "man", "mark", "qvist", "roth", "stedt", "sten", "strand", "ström", "vall"] }, + { + "format": "{first}{last}", + "weight": 0.4, + "first": ["Hell", "Norr", "Wall"], + "last": ["berg", "blad", "crona", "dahl", "ed", "fors", "gren", "holm", "in", "kvist", "man", "mark", "qvist", "stedt", "sten", "strand", "ström", "vall"] + }, ["Berg", "Blom", "Eismar", "Falk", "Holm", "Lind", "Norberg", "Strand", "Ström", "von Flemming", "Åberg", "Öberg"] ], "prefix": [