summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-05-09 05:21:33 -0300
committerEuAndreh <eu@euandre.org>2025-05-09 10:27:21 -0300
commitb90a8152cb5d0731a670a36e396c07c1b00de58c (patch)
tree23418b4dfac0ad8fdd94816c6c8de50d0dbcedb8
parentSupport UUIDv7, with -vN for choosing (diff)
downloaduuid-b90a8152cb5d0731a670a36e396c07c1b00de58c.tar.gz
uuid-b90a8152cb5d0731a670a36e396c07c1b00de58c.tar.xz
doc/: Add uuid.en.{0,3,7.{CHANGELOG,README,TODOs,recipes,tutorial,why}}.adoc
-rw-r--r--.gitignore3
-rw-r--r--CHANGELOG.adoc22
-rw-r--r--README.adoc5
-rw-r--r--TODOs.adoc25
-rw-r--r--deps.mk43
-rw-r--r--doc/uuid.de.0.adoc13
-rw-r--r--doc/uuid.de.1.adoc40
-rw-r--r--doc/uuid.de.3.adoc5
-rw-r--r--doc/uuid.de.7CHANGELOG.adoc22
-rw-r--r--doc/uuid.de.7README.adoc5
-rw-r--r--doc/uuid.de.7recipes.adoc5
-rw-r--r--doc/uuid.de.7tutorial.adoc5
-rw-r--r--doc/uuid.de.7why.adoc5
-rw-r--r--doc/uuid.en.0.adoc13
-rw-r--r--doc/uuid.en.3.adoc5
l---------doc/uuid.en.7CHANGELOG.adoc1
l---------doc/uuid.en.7README.adoc1
l---------doc/uuid.en.7TODOs.adoc1
-rw-r--r--doc/uuid.en.7recipes.adoc5
-rw-r--r--doc/uuid.en.7tutorial.adoc5
-rw-r--r--doc/uuid.en.7why.adoc5
-rw-r--r--doc/uuid.eo.0.adoc13
-rw-r--r--doc/uuid.eo.1.adoc40
-rw-r--r--doc/uuid.eo.3.adoc5
-rw-r--r--doc/uuid.eo.7CHANGELOG.adoc22
-rw-r--r--doc/uuid.eo.7README.adoc5
-rw-r--r--doc/uuid.eo.7recipes.adoc5
-rw-r--r--doc/uuid.eo.7tutorial.adoc5
-rw-r--r--doc/uuid.eo.7why.adoc5
-rw-r--r--doc/uuid.es.0.adoc13
-rw-r--r--doc/uuid.es.1.adoc40
-rw-r--r--doc/uuid.es.3.adoc5
-rw-r--r--doc/uuid.es.7CHANGELOG.adoc22
-rw-r--r--doc/uuid.es.7README.adoc5
-rw-r--r--doc/uuid.es.7recipes.adoc5
-rw-r--r--doc/uuid.es.7tutorial.adoc5
-rw-r--r--doc/uuid.es.7why.adoc5
-rw-r--r--doc/uuid.fr.0.adoc13
-rw-r--r--doc/uuid.fr.1.adoc40
-rw-r--r--doc/uuid.fr.3.adoc5
-rw-r--r--doc/uuid.fr.7CHANGELOG.adoc22
-rw-r--r--doc/uuid.fr.7README.adoc5
-rw-r--r--doc/uuid.fr.7recipes.adoc5
-rw-r--r--doc/uuid.fr.7tutorial.adoc5
-rw-r--r--doc/uuid.fr.7why.adoc5
-rw-r--r--doc/uuid.pt.0.adoc13
-rw-r--r--doc/uuid.pt.1.adoc40
-rw-r--r--doc/uuid.pt.3.adoc5
-rw-r--r--doc/uuid.pt.7CHANGELOG.adoc22
-rw-r--r--doc/uuid.pt.7README.adoc5
-rw-r--r--doc/uuid.pt.7recipes.adoc5
-rw-r--r--doc/uuid.pt.7tutorial.adoc5
-rw-r--r--doc/uuid.pt.7why.adoc5
-rw-r--r--meta.capim0
-rw-r--r--po/de.po254
-rw-r--r--po/eo.po254
-rw-r--r--po/es.po254
-rw-r--r--po/fr.po254
-rw-r--r--po/po4a.cfg9
-rw-r--r--po/pt.po254
-rw-r--r--po/uuid.pot252
61 files changed, 1802 insertions, 363 deletions
diff --git a/.gitignore b/.gitignore
index 20b9ce0..fa77916 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-/doc/*.[0-9]
+!/doc/*.adoc
+/doc/*
/src/version.go
/*.bin
/src/*.a
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/README.adoc b/README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/TODOs.adoc b/TODOs.adoc
new file mode 100644
index 0000000..8446413
--- /dev/null
+++ b/TODOs.adoc
@@ -0,0 +1,25 @@
+= uuid(7TODOs)
+
+== NAME
+
+uuid - .
+
+
+
+== Tasks
+
+== Bugs
+
+== Improvements
+
+== Questions
+
+== Decisions
+
+== Ideas
+
+== Proposals
+
+== Resources
+
+== Scratch
diff --git a/deps.mk b/deps.mk
index 3e780fe..8dc5380 100644
--- a/deps.mk
+++ b/deps.mk
@@ -17,12 +17,55 @@ mains.go = \
tests/main.go \
manpages.N.adoc = \
+ doc/uuid.de.0.adoc \
doc/uuid.de.1.adoc \
+ doc/uuid.de.3.adoc \
+ doc/uuid.de.7CHANGELOG.adoc \
+ doc/uuid.de.7README.adoc \
+ doc/uuid.de.7recipes.adoc \
+ doc/uuid.de.7tutorial.adoc \
+ doc/uuid.de.7why.adoc \
+ doc/uuid.en.0.adoc \
doc/uuid.en.1.adoc \
+ doc/uuid.en.3.adoc \
+ doc/uuid.en.7CHANGELOG.adoc \
+ doc/uuid.en.7README.adoc \
+ doc/uuid.en.7TODOs.adoc \
+ doc/uuid.en.7recipes.adoc \
+ doc/uuid.en.7tutorial.adoc \
+ doc/uuid.en.7why.adoc \
+ doc/uuid.eo.0.adoc \
doc/uuid.eo.1.adoc \
+ doc/uuid.eo.3.adoc \
+ doc/uuid.eo.7CHANGELOG.adoc \
+ doc/uuid.eo.7README.adoc \
+ doc/uuid.eo.7recipes.adoc \
+ doc/uuid.eo.7tutorial.adoc \
+ doc/uuid.eo.7why.adoc \
+ doc/uuid.es.0.adoc \
doc/uuid.es.1.adoc \
+ doc/uuid.es.3.adoc \
+ doc/uuid.es.7CHANGELOG.adoc \
+ doc/uuid.es.7README.adoc \
+ doc/uuid.es.7recipes.adoc \
+ doc/uuid.es.7tutorial.adoc \
+ doc/uuid.es.7why.adoc \
+ doc/uuid.fr.0.adoc \
doc/uuid.fr.1.adoc \
+ doc/uuid.fr.3.adoc \
+ doc/uuid.fr.7CHANGELOG.adoc \
+ doc/uuid.fr.7README.adoc \
+ doc/uuid.fr.7recipes.adoc \
+ doc/uuid.fr.7tutorial.adoc \
+ doc/uuid.fr.7why.adoc \
+ doc/uuid.pt.0.adoc \
doc/uuid.pt.1.adoc \
+ doc/uuid.pt.3.adoc \
+ doc/uuid.pt.7CHANGELOG.adoc \
+ doc/uuid.pt.7README.adoc \
+ doc/uuid.pt.7recipes.adoc \
+ doc/uuid.pt.7tutorial.adoc \
+ doc/uuid.pt.7why.adoc \
functional-tests/lib.go = \
tests/functional/string-round-trip/uuid.go \
diff --git a/doc/uuid.de.0.adoc b/doc/uuid.de.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.de.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.de.1.adoc b/doc/uuid.de.1.adoc
index a0d507b..e64c665 100644
--- a/doc/uuid.de.1.adoc
+++ b/doc/uuid.de.1.adoc
@@ -4,29 +4,40 @@
== NAME
-uuid - generate or validate a UUIDv4
+uuid - generate a UUID version 4 or 7, or validate a UUID string.
== SYNOPSYS
-*uuid* [_STRING_]
+*uuid* [-v (4|7)] *uuid* [_STRING_]
== EXAMPLES
-=== Print a UUID on the terminal
+=== Print a (version 4) UUID on the terminal
+[source, sh]
....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....
+=== Print a verson 7 UUID on the terminal
+
+[source, sh]
+....
+$ uuid -v 7
+d3891787-c952-af17-d697-0df3b85981e1
+....
+
+
=== Create a new UUID as part of a path
+[source, sh]
....
dir="$PWD"/"$(uuid)"/data
....
@@ -34,6 +45,7 @@ dir="$PWD"/"$(uuid)"/data
=== Validate a given UUID
+[source, sh]
....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
@@ -48,6 +60,14 @@ fi
The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.
+The *-v* option allows for choosing which type of UUID to be emitted, either version 4 ("the random one") or version 7 ("the sortable one"). When omitted, version 4 is chosen as default.
+
+
+
+== OPTIONS
+
+*-v NUMBER*:: Choose the UUID version *NUMBER* to be generated. Supported values are 4 (the default) and 7.
+
== OPERANDS
@@ -71,12 +91,14 @@ Not used.
The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:
+[source, sh]
....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....
An example output is:
+[source, sh]
....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....
@@ -84,7 +106,15 @@ cb46d0c0-b2aa-4a6c-a119-8deace2544a2
=== STDERR
-Not used.
+Errors on UUID validation are sent to the standard error. For instance:
+
+[source, sh]
+....
+$ uuid not-a-uuid-123 1>/dev/null
+uuid: str isn't of the correct length
+....
+
+When valid, validation emits nothing and exits with 0.
=== INPUT FILES
@@ -107,7 +137,7 @@ None.
== CONFORMING TO
-The v4 UUID defined in *RFC 9562*.
+The versions 4 and 7 of the UUID defined in *RFC 9562*.
diff --git a/doc/uuid.de.3.adoc b/doc/uuid.de.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.de.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.de.7CHANGELOG.adoc b/doc/uuid.de.7CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/doc/uuid.de.7CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/doc/uuid.de.7README.adoc b/doc/uuid.de.7README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/doc/uuid.de.7README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.de.7recipes.adoc b/doc/uuid.de.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.de.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.de.7tutorial.adoc b/doc/uuid.de.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.de.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.de.7why.adoc b/doc/uuid.de.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.de.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.en.0.adoc b/doc/uuid.en.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.en.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.en.3.adoc b/doc/uuid.en.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.en.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.en.7CHANGELOG.adoc b/doc/uuid.en.7CHANGELOG.adoc
new file mode 120000
index 0000000..e59a806
--- /dev/null
+++ b/doc/uuid.en.7CHANGELOG.adoc
@@ -0,0 +1 @@
+../CHANGELOG.adoc \ No newline at end of file
diff --git a/doc/uuid.en.7README.adoc b/doc/uuid.en.7README.adoc
new file mode 120000
index 0000000..a7ab0b1
--- /dev/null
+++ b/doc/uuid.en.7README.adoc
@@ -0,0 +1 @@
+../README.adoc \ No newline at end of file
diff --git a/doc/uuid.en.7TODOs.adoc b/doc/uuid.en.7TODOs.adoc
new file mode 120000
index 0000000..b499888
--- /dev/null
+++ b/doc/uuid.en.7TODOs.adoc
@@ -0,0 +1 @@
+../TODOs.adoc \ No newline at end of file
diff --git a/doc/uuid.en.7recipes.adoc b/doc/uuid.en.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.en.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.en.7tutorial.adoc b/doc/uuid.en.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.en.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.en.7why.adoc b/doc/uuid.en.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.en.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.eo.0.adoc b/doc/uuid.eo.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.eo.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.eo.1.adoc b/doc/uuid.eo.1.adoc
index a0d507b..e64c665 100644
--- a/doc/uuid.eo.1.adoc
+++ b/doc/uuid.eo.1.adoc
@@ -4,29 +4,40 @@
== NAME
-uuid - generate or validate a UUIDv4
+uuid - generate a UUID version 4 or 7, or validate a UUID string.
== SYNOPSYS
-*uuid* [_STRING_]
+*uuid* [-v (4|7)] *uuid* [_STRING_]
== EXAMPLES
-=== Print a UUID on the terminal
+=== Print a (version 4) UUID on the terminal
+[source, sh]
....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....
+=== Print a verson 7 UUID on the terminal
+
+[source, sh]
+....
+$ uuid -v 7
+d3891787-c952-af17-d697-0df3b85981e1
+....
+
+
=== Create a new UUID as part of a path
+[source, sh]
....
dir="$PWD"/"$(uuid)"/data
....
@@ -34,6 +45,7 @@ dir="$PWD"/"$(uuid)"/data
=== Validate a given UUID
+[source, sh]
....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
@@ -48,6 +60,14 @@ fi
The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.
+The *-v* option allows for choosing which type of UUID to be emitted, either version 4 ("the random one") or version 7 ("the sortable one"). When omitted, version 4 is chosen as default.
+
+
+
+== OPTIONS
+
+*-v NUMBER*:: Choose the UUID version *NUMBER* to be generated. Supported values are 4 (the default) and 7.
+
== OPERANDS
@@ -71,12 +91,14 @@ Not used.
The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:
+[source, sh]
....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....
An example output is:
+[source, sh]
....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....
@@ -84,7 +106,15 @@ cb46d0c0-b2aa-4a6c-a119-8deace2544a2
=== STDERR
-Not used.
+Errors on UUID validation are sent to the standard error. For instance:
+
+[source, sh]
+....
+$ uuid not-a-uuid-123 1>/dev/null
+uuid: str isn't of the correct length
+....
+
+When valid, validation emits nothing and exits with 0.
=== INPUT FILES
@@ -107,7 +137,7 @@ None.
== CONFORMING TO
-The v4 UUID defined in *RFC 9562*.
+The versions 4 and 7 of the UUID defined in *RFC 9562*.
diff --git a/doc/uuid.eo.3.adoc b/doc/uuid.eo.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.eo.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.eo.7CHANGELOG.adoc b/doc/uuid.eo.7CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/doc/uuid.eo.7CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/doc/uuid.eo.7README.adoc b/doc/uuid.eo.7README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/doc/uuid.eo.7README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.eo.7recipes.adoc b/doc/uuid.eo.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.eo.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.eo.7tutorial.adoc b/doc/uuid.eo.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.eo.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.eo.7why.adoc b/doc/uuid.eo.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.eo.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.es.0.adoc b/doc/uuid.es.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.es.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.es.1.adoc b/doc/uuid.es.1.adoc
index a0d507b..e64c665 100644
--- a/doc/uuid.es.1.adoc
+++ b/doc/uuid.es.1.adoc
@@ -4,29 +4,40 @@
== NAME
-uuid - generate or validate a UUIDv4
+uuid - generate a UUID version 4 or 7, or validate a UUID string.
== SYNOPSYS
-*uuid* [_STRING_]
+*uuid* [-v (4|7)] *uuid* [_STRING_]
== EXAMPLES
-=== Print a UUID on the terminal
+=== Print a (version 4) UUID on the terminal
+[source, sh]
....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....
+=== Print a verson 7 UUID on the terminal
+
+[source, sh]
+....
+$ uuid -v 7
+d3891787-c952-af17-d697-0df3b85981e1
+....
+
+
=== Create a new UUID as part of a path
+[source, sh]
....
dir="$PWD"/"$(uuid)"/data
....
@@ -34,6 +45,7 @@ dir="$PWD"/"$(uuid)"/data
=== Validate a given UUID
+[source, sh]
....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
@@ -48,6 +60,14 @@ fi
The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.
+The *-v* option allows for choosing which type of UUID to be emitted, either version 4 ("the random one") or version 7 ("the sortable one"). When omitted, version 4 is chosen as default.
+
+
+
+== OPTIONS
+
+*-v NUMBER*:: Choose the UUID version *NUMBER* to be generated. Supported values are 4 (the default) and 7.
+
== OPERANDS
@@ -71,12 +91,14 @@ Not used.
The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:
+[source, sh]
....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....
An example output is:
+[source, sh]
....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....
@@ -84,7 +106,15 @@ cb46d0c0-b2aa-4a6c-a119-8deace2544a2
=== STDERR
-Not used.
+Errors on UUID validation are sent to the standard error. For instance:
+
+[source, sh]
+....
+$ uuid not-a-uuid-123 1>/dev/null
+uuid: str isn't of the correct length
+....
+
+When valid, validation emits nothing and exits with 0.
=== INPUT FILES
@@ -107,7 +137,7 @@ None.
== CONFORMING TO
-The v4 UUID defined in *RFC 9562*.
+The versions 4 and 7 of the UUID defined in *RFC 9562*.
diff --git a/doc/uuid.es.3.adoc b/doc/uuid.es.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.es.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.es.7CHANGELOG.adoc b/doc/uuid.es.7CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/doc/uuid.es.7CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/doc/uuid.es.7README.adoc b/doc/uuid.es.7README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/doc/uuid.es.7README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.es.7recipes.adoc b/doc/uuid.es.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.es.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.es.7tutorial.adoc b/doc/uuid.es.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.es.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.es.7why.adoc b/doc/uuid.es.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.es.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.fr.0.adoc b/doc/uuid.fr.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.fr.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.fr.1.adoc b/doc/uuid.fr.1.adoc
index a0d507b..e64c665 100644
--- a/doc/uuid.fr.1.adoc
+++ b/doc/uuid.fr.1.adoc
@@ -4,29 +4,40 @@
== NAME
-uuid - generate or validate a UUIDv4
+uuid - generate a UUID version 4 or 7, or validate a UUID string.
== SYNOPSYS
-*uuid* [_STRING_]
+*uuid* [-v (4|7)] *uuid* [_STRING_]
== EXAMPLES
-=== Print a UUID on the terminal
+=== Print a (version 4) UUID on the terminal
+[source, sh]
....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....
+=== Print a verson 7 UUID on the terminal
+
+[source, sh]
+....
+$ uuid -v 7
+d3891787-c952-af17-d697-0df3b85981e1
+....
+
+
=== Create a new UUID as part of a path
+[source, sh]
....
dir="$PWD"/"$(uuid)"/data
....
@@ -34,6 +45,7 @@ dir="$PWD"/"$(uuid)"/data
=== Validate a given UUID
+[source, sh]
....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
@@ -48,6 +60,14 @@ fi
The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.
+The *-v* option allows for choosing which type of UUID to be emitted, either version 4 ("the random one") or version 7 ("the sortable one"). When omitted, version 4 is chosen as default.
+
+
+
+== OPTIONS
+
+*-v NUMBER*:: Choose the UUID version *NUMBER* to be generated. Supported values are 4 (the default) and 7.
+
== OPERANDS
@@ -71,12 +91,14 @@ Not used.
The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:
+[source, sh]
....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....
An example output is:
+[source, sh]
....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....
@@ -84,7 +106,15 @@ cb46d0c0-b2aa-4a6c-a119-8deace2544a2
=== STDERR
-Not used.
+Errors on UUID validation are sent to the standard error. For instance:
+
+[source, sh]
+....
+$ uuid not-a-uuid-123 1>/dev/null
+uuid: str isn't of the correct length
+....
+
+When valid, validation emits nothing and exits with 0.
=== INPUT FILES
@@ -107,7 +137,7 @@ None.
== CONFORMING TO
-The v4 UUID defined in *RFC 9562*.
+The versions 4 and 7 of the UUID defined in *RFC 9562*.
diff --git a/doc/uuid.fr.3.adoc b/doc/uuid.fr.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.fr.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.fr.7CHANGELOG.adoc b/doc/uuid.fr.7CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/doc/uuid.fr.7CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/doc/uuid.fr.7README.adoc b/doc/uuid.fr.7README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/doc/uuid.fr.7README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.fr.7recipes.adoc b/doc/uuid.fr.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.fr.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.fr.7tutorial.adoc b/doc/uuid.fr.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.fr.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.fr.7why.adoc b/doc/uuid.fr.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.fr.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.pt.0.adoc b/doc/uuid.pt.0.adoc
new file mode 100644
index 0000000..1670ad5
--- /dev/null
+++ b/doc/uuid.pt.0.adoc
@@ -0,0 +1,13 @@
+= uuid(0)
+
+
+
+== NAME
+
+uuid - generate or parse UUID values.
+
+
+
+== DESCRIPTION
+
+*uuid* generates UUID of version 4 or version 7, or validate a given UUID.
diff --git a/doc/uuid.pt.1.adoc b/doc/uuid.pt.1.adoc
index a0d507b..e64c665 100644
--- a/doc/uuid.pt.1.adoc
+++ b/doc/uuid.pt.1.adoc
@@ -4,29 +4,40 @@
== NAME
-uuid - generate or validate a UUIDv4
+uuid - generate a UUID version 4 or 7, or validate a UUID string.
== SYNOPSYS
-*uuid* [_STRING_]
+*uuid* [-v (4|7)] *uuid* [_STRING_]
== EXAMPLES
-=== Print a UUID on the terminal
+=== Print a (version 4) UUID on the terminal
+[source, sh]
....
$ uuid
d3891787-c952-af17-d697-0df3b85981e1
....
+=== Print a verson 7 UUID on the terminal
+
+[source, sh]
+....
+$ uuid -v 7
+d3891787-c952-af17-d697-0df3b85981e1
+....
+
+
=== Create a new UUID as part of a path
+[source, sh]
....
dir="$PWD"/"$(uuid)"/data
....
@@ -34,6 +45,7 @@ dir="$PWD"/"$(uuid)"/data
=== Validate a given UUID
+[source, sh]
....
ID="$(basename -- "$directory")"
if ! uuid "$ID"; then
@@ -48,6 +60,14 @@ fi
The *uuid* utility generates a new UUID when no _STRING_ is given and write it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and produces no output.
+The *-v* option allows for choosing which type of UUID to be emitted, either version 4 ("the random one") or version 7 ("the sortable one"). When omitted, version 4 is chosen as default.
+
+
+
+== OPTIONS
+
+*-v NUMBER*:: Choose the UUID version *NUMBER* to be generated. Supported values are 4 (the default) and 7.
+
== OPERANDS
@@ -71,12 +91,14 @@ Not used.
The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a <hyphen-minus>('`-`') as the block separator:
+[source, sh]
....
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
....
An example output is:
+[source, sh]
....
cb46d0c0-b2aa-4a6c-a119-8deace2544a2
....
@@ -84,7 +106,15 @@ cb46d0c0-b2aa-4a6c-a119-8deace2544a2
=== STDERR
-Not used.
+Errors on UUID validation are sent to the standard error. For instance:
+
+[source, sh]
+....
+$ uuid not-a-uuid-123 1>/dev/null
+uuid: str isn't of the correct length
+....
+
+When valid, validation emits nothing and exits with 0.
=== INPUT FILES
@@ -107,7 +137,7 @@ None.
== CONFORMING TO
-The v4 UUID defined in *RFC 9562*.
+The versions 4 and 7 of the UUID defined in *RFC 9562*.
diff --git a/doc/uuid.pt.3.adoc b/doc/uuid.pt.3.adoc
new file mode 100644
index 0000000..24fcde5
--- /dev/null
+++ b/doc/uuid.pt.3.adoc
@@ -0,0 +1,5 @@
+= uuid(3)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.pt.7CHANGELOG.adoc b/doc/uuid.pt.7CHANGELOG.adoc
new file mode 100644
index 0000000..e1b6975
--- /dev/null
+++ b/doc/uuid.pt.7CHANGELOG.adoc
@@ -0,0 +1,22 @@
+= uuid(7CHANGELOG)
+
+== NAME
+
+uuid - .
+
+== DESCRIPTION
+
+////
+Entry template:
+== Unreleased
+=== Added
+=== Changed
+=== Deprecated
+=== Removed
+=== Fixed
+=== Security
+////
+
+Changelog for https://euandre.org/s/uuid/en/[uuid].
+
+== Unreleased
diff --git a/doc/uuid.pt.7README.adoc b/doc/uuid.pt.7README.adoc
new file mode 100644
index 0000000..3def718
--- /dev/null
+++ b/doc/uuid.pt.7README.adoc
@@ -0,0 +1,5 @@
+= uuid(7README)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.pt.7recipes.adoc b/doc/uuid.pt.7recipes.adoc
new file mode 100644
index 0000000..2f20a16
--- /dev/null
+++ b/doc/uuid.pt.7recipes.adoc
@@ -0,0 +1,5 @@
+= uuid(7recipes)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.pt.7tutorial.adoc b/doc/uuid.pt.7tutorial.adoc
new file mode 100644
index 0000000..1a77799
--- /dev/null
+++ b/doc/uuid.pt.7tutorial.adoc
@@ -0,0 +1,5 @@
+= uuid(7tutorial)
+
+== NAME
+
+uuid - .
diff --git a/doc/uuid.pt.7why.adoc b/doc/uuid.pt.7why.adoc
new file mode 100644
index 0000000..51096c1
--- /dev/null
+++ b/doc/uuid.pt.7why.adoc
@@ -0,0 +1,5 @@
+= uuid(7why)
+
+== NAME
+
+uuid - .
diff --git a/meta.capim b/meta.capim
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/meta.capim
diff --git a/po/de.po b/po/de.po
index f3a3a89..2583f7b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: 2025-05-04 09:15-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,20 +17,46 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid ""
+"*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +66,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +91,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,212 +133,314 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid ""
"generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid ""
+"Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""
diff --git a/po/eo.po b/po/eo.po
index 87ea581..c98fb92 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: 2025-05-04 09:15-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,20 +17,46 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid ""
+"*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +66,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +91,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,212 +133,314 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid ""
"generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid ""
+"Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""
diff --git a/po/es.po b/po/es.po
index c8d79fa..67f7bbf 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: 2025-05-04 09:15-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,20 +17,46 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid ""
+"*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +66,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +91,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,212 +133,314 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid ""
"generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid ""
+"Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 5d80427..42f1e40 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: 2025-05-04 09:15-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,20 +17,46 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid ""
+"*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +66,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +91,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,212 +133,314 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid ""
"generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid ""
+"Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""
diff --git a/po/po4a.cfg b/po/po4a.cfg
index 3a2afdc..1a592c1 100644
--- a/po/po4a.cfg
+++ b/po/po4a.cfg
@@ -2,4 +2,11 @@
[po_directory] po
-[type: asciidoc] doc/uuid.en.1.adoc $lang:doc/uuid.$lang.1.adoc
+[type: asciidoc] doc/uuid.en.0.adoc $lang:doc/uuid.$lang.0.adoc
+[type: asciidoc] doc/uuid.en.1.adoc $lang:doc/uuid.$lang.1.adoc
+[type: asciidoc] doc/uuid.en.3.adoc $lang:doc/uuid.$lang.3.adoc
+[type: asciidoc] doc/uuid.en.7CHANGELOG.adoc $lang:doc/uuid.$lang.7CHANGELOG.adoc
+[type: asciidoc] doc/uuid.en.7README.adoc $lang:doc/uuid.$lang.7README.adoc
+[type: asciidoc] doc/uuid.en.7recipes.adoc $lang:doc/uuid.$lang.7recipes.adoc
+[type: asciidoc] doc/uuid.en.7tutorial.adoc $lang:doc/uuid.$lang.7tutorial.adoc
+[type: asciidoc] doc/uuid.en.7why.adoc $lang:doc/uuid.$lang.7why.adoc
diff --git a/po/pt.po b/po/pt.po
index 2cf2e9f..00fe790 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: 2025-05-04 09:15-0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,20 +17,46 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid ""
+"*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +66,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +91,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,212 +133,314 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid ""
"generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid ""
+"Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""
diff --git a/po/uuid.pot b/po/uuid.pot
index da2a106..60e398b 100644
--- a/po/uuid.pot
+++ b/po/uuid.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-04 09:15-0300\n"
+"POT-Creation-Date: 2025-05-09 10:10-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,20 +17,45 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. type: Title =
-#: doc/uuid.en.1.adoc:1
+#: doc/uuid.en.0.adoc:1
#, no-wrap
-msgid "uuid(1)"
+msgid "uuid(0)"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:5
+#: doc/uuid.en.0.adoc:5 doc/uuid.en.1.adoc:5 doc/uuid.en.3.adoc:3
+#: doc/uuid.en.7CHANGELOG.adoc:3 doc/uuid.en.7README.adoc:3
+#: doc/uuid.en.7recipes.adoc:3 doc/uuid.en.7tutorial.adoc:3
+#: doc/uuid.en.7why.adoc:3
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
+#: doc/uuid.en.0.adoc:8
+msgid "uuid - generate or parse UUID values."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.0.adoc:11 doc/uuid.en.1.adoc:60 doc/uuid.en.7CHANGELOG.adoc:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.0.adoc:13
+msgid "*uuid* generates UUID of version 4 or version 7, or validate a given UUID."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.1.adoc:1
+#, no-wrap
+msgid "uuid(1)"
+msgstr ""
+
+#. type: Plain text
#: doc/uuid.en.1.adoc:8
-msgid "uuid - generate or validate a UUIDv4"
+msgid "uuid - generate a UUID version 4 or 7, or validate a UUID string."
msgstr ""
#. type: Title ==
@@ -40,24 +65,24 @@ msgid "SYNOPSYS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:14
-msgid "*uuid* [_STRING_]"
+#: doc/uuid.en.1.adoc:15
+msgid "*uuid* [-v (4|7)] *uuid* [_STRING_]"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:17
+#: doc/uuid.en.1.adoc:18
#, no-wrap
msgid "EXAMPLES"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:20
+#: doc/uuid.en.1.adoc:21
#, no-wrap
-msgid "Print a UUID on the terminal"
+msgid "Print a (version 4) UUID on the terminal"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:25
+#: doc/uuid.en.1.adoc:27
#, no-wrap
msgid ""
"$ uuid\n"
@@ -65,25 +90,39 @@ msgid ""
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:28
+#: doc/uuid.en.1.adoc:30
+#, no-wrap
+msgid "Print a verson 7 UUID on the terminal"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:36
+#, no-wrap
+msgid ""
+"$ uuid -v 7\n"
+"d3891787-c952-af17-d697-0df3b85981e1\n"
+msgstr ""
+
+#. type: Title ===
+#: doc/uuid.en.1.adoc:39
#, no-wrap
msgid "Create a new UUID as part of a path"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:32
+#: doc/uuid.en.1.adoc:44
#, no-wrap
msgid "dir=\"$PWD\"/\"$(uuid)\"/data\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:35
+#: doc/uuid.en.1.adoc:47
#, no-wrap
msgid "Validate a given UUID"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:43
+#: doc/uuid.en.1.adoc:56
#, no-wrap
msgid ""
"ID=\"$(basename -- \"$directory\")\"\n"
@@ -93,211 +132,312 @@ msgid ""
"fi\n"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:65
+msgid ""
+"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
+"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
+"produces no output."
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:69
+msgid ""
+"The *-v* option allows for choosing which type of UUID to be emitted, either "
+"version 4 (\"the random one\") or version 7 (\"the sortable one\"). When "
+"omitted, version 4 is chosen as default."
+msgstr ""
+
#. type: Title ==
-#: doc/uuid.en.1.adoc:47
+#: doc/uuid.en.1.adoc:72
#, no-wrap
-msgid "DESCRIPTION"
+msgid "OPTIONS"
+msgstr ""
+
+#. type: Labeled list
+#: doc/uuid.en.1.adoc:74
+#, no-wrap
+msgid "*-v NUMBER*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:52
+#: doc/uuid.en.1.adoc:76
msgid ""
-"The *uuid* utility generates a new UUID when no _STRING_ is given and write "
-"it to _stdout_. If a _STRING_ is given, *uuid* validates it and exits, and "
-"produces no output."
+"Choose the UUID version *NUMBER* to be generated. Supported values are 4 "
+"(the default) and 7."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:55
+#: doc/uuid.en.1.adoc:79
#, no-wrap
msgid "OPERANDS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:57
+#: doc/uuid.en.1.adoc:81
#, no-wrap
msgid "_STRING_"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:58
+#: doc/uuid.en.1.adoc:82
msgid "If it is"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:59
+#: doc/uuid.en.1.adoc:83
#, no-wrap
msgid "*not given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
msgid "generate a brand new random UUIDv4, print it to _stdout_ and exit normally;"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:61
+#: doc/uuid.en.1.adoc:85
#, no-wrap
msgid "*given*"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:62
+#: doc/uuid.en.1.adoc:86
msgid "test if it is a valid UUIDv4 and exit normally if so."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:65
+#: doc/uuid.en.1.adoc:89
#, no-wrap
msgid "IO"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:68
+#: doc/uuid.en.1.adoc:92
#, no-wrap
msgid "STDIN"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:71 doc/uuid.en.1.adoc:92
+#: doc/uuid.en.1.adoc:95
msgid "Not used."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:73
+#: doc/uuid.en.1.adoc:97
#, no-wrap
msgid "STDOUT"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:77
+#: doc/uuid.en.1.adoc:101
msgid ""
"The UUIDv4 format is made of byte blocks encoded as hexadecimals, using a "
"<hyphen-minus>('`-`') as the block separator:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:80
+#: doc/uuid.en.1.adoc:105
#, no-wrap
msgid "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:83
+#: doc/uuid.en.1.adoc:108
msgid "An example output is:"
msgstr ""
#. type: delimited block .
-#: doc/uuid.en.1.adoc:86
+#: doc/uuid.en.1.adoc:112
#, no-wrap
msgid "cb46d0c0-b2aa-4a6c-a119-8deace2544a2\n"
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:89
+#: doc/uuid.en.1.adoc:115
#, no-wrap
msgid "STDERR"
msgstr ""
+#. type: Plain text
+#: doc/uuid.en.1.adoc:118
+msgid "Errors on UUID validation are sent to the standard error. For instance:"
+msgstr ""
+
+#. type: delimited block .
+#: doc/uuid.en.1.adoc:123
+#, no-wrap
+msgid ""
+"$ uuid not-a-uuid-123 1>/dev/null\n"
+"uuid: str isn't of the correct length\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.1.adoc:126
+msgid "When valid, validation emits nothing and exits with 0."
+msgstr ""
+
#. type: Title ===
-#: doc/uuid.en.1.adoc:94
+#: doc/uuid.en.1.adoc:128
#, no-wrap
msgid "INPUT FILES"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:97 doc/uuid.en.1.adoc:102
+#: doc/uuid.en.1.adoc:131 doc/uuid.en.1.adoc:136
msgid "None."
msgstr ""
#. type: Title ===
-#: doc/uuid.en.1.adoc:99
+#: doc/uuid.en.1.adoc:133
#, no-wrap
msgid "OUTPUT FILES"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:105
+#: doc/uuid.en.1.adoc:139
#, no-wrap
msgid "EXIT STATUS"
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:107
+#: doc/uuid.en.1.adoc:141
#, no-wrap
msgid "0"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
msgid "Generating or validating a UUID was successfull."
msgstr ""
#. type: Labeled list
-#: doc/uuid.en.1.adoc:108
+#: doc/uuid.en.1.adoc:142
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:109
+#: doc/uuid.en.1.adoc:143
msgid "UUID validation failed."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:112
+#: doc/uuid.en.1.adoc:146
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:115
-msgid "The v4 UUID defined in *RFC 9562*."
+#: doc/uuid.en.1.adoc:149
+msgid "The versions 4 and 7 of the UUID defined in *RFC 9562*."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:118
+#: doc/uuid.en.1.adoc:152
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:122
+#: doc/uuid.en.1.adoc:156
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:125
+#: doc/uuid.en.1.adoc:159
msgid "mailto:eu@euandre.org[EuAndreh] and contributors."
msgstr ""
#. type: Title ==
-#: doc/uuid.en.1.adoc:128
+#: doc/uuid.en.1.adoc:162
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:132
+#: doc/uuid.en.1.adoc:166
msgid ""
"Report bugs to the mailto:~euandreh/public-inbox@lists.sr.ht[mailing list]. "
"Use the subject \"[uuid] BUG or TASK: <description>\"."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:133
+#: doc/uuid.en.1.adoc:167
msgid "Browse bugs https://euandre.org/git/uuid/TODOs.html[online]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid "https://euandre.org/git/uuid/[Homepage]."
msgstr ""
#. type: Plain text
-#: doc/uuid.en.1.adoc:134
+#: doc/uuid.en.1.adoc:168
msgid ""
"https://lists.sr.ht/~euandreh/public-inbox?search=%5Buuid%5D[Comments and "
"discussions]."
msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.3.adoc:1
+#, no-wrap
+msgid "uuid(3)"
+msgstr ""
+
+#. type: Plain text
+#: doc/uuid.en.3.adoc:5 doc/uuid.en.7CHANGELOG.adoc:6
+#: doc/uuid.en.7README.adoc:5 doc/uuid.en.7recipes.adoc:5
+#: doc/uuid.en.7tutorial.adoc:5 doc/uuid.en.7why.adoc:5
+msgid "uuid - ."
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7CHANGELOG.adoc:1
+#, no-wrap
+msgid "uuid(7CHANGELOG)"
+msgstr ""
+
+#. Entry template:
+#. == Unreleased
+#. === Added
+#. === Changed
+#. === Deprecated
+#. === Removed
+#. === Fixed
+#. === Security
+#. type: Plain text
+#: doc/uuid.en.7CHANGELOG.adoc:21
+msgid "Changelog for https://euandre.org/s/uuid/en/[uuid]."
+msgstr ""
+
+#. type: Title ==
+#: doc/uuid.en.7CHANGELOG.adoc:22
+#, no-wrap
+msgid "Unreleased"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7README.adoc:1
+#, no-wrap
+msgid "uuid(7README)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7recipes.adoc:1
+#, no-wrap
+msgid "uuid(7recipes)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7tutorial.adoc:1
+#, no-wrap
+msgid "uuid(7tutorial)"
+msgstr ""
+
+#. type: Title =
+#: doc/uuid.en.7why.adoc:1
+#, no-wrap
+msgid "uuid(7why)"
+msgstr ""