[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/08: website: Mark all files in apps for translation.
From: |
Ludovic Courtès |
Subject: |
05/08: website: Mark all files in apps for translation. |
Date: |
Wed, 25 Sep 2019 11:15:51 -0400 (EDT) |
civodul pushed a commit to branch wip-i18n
in repository guix-artwork.
commit ec05ce9313c5dc1e881fb48208922e6f7816c6a2
Author: Florian Pelz <address@hidden>
Date: Sun Sep 15 17:15:48 2019 +0200
website: Mark all files in apps for translation.
* website/po/guix-website.pot: New file.
* website/apps/base/utils.scm (manual-url-with-language): New
procedure.
(locale-display-name): New procedure.
(guix-url): Use localized URLs by default.
* website/apps/base/templates/components.scm (manual-href,
manual-link-yellow): New procedures.
(breadcrumbs, contact->shtml, navbar): Mark for translation.
* website/apps/base/data.scm (contact-media, screenshots): Mark for
translation.
* website/apps/base/templates/about.scm (about-t): Mark for
translation.
* website/apps/base/templates/contact.scm (contact-t): Mark for
translation.
* website/apps/base/templates/contribute.scm (contribute-t): Mark for
translation.
* website/apps/base/templates/donate.scm (donate-t): Mark for
translation.
* website/apps/base/templates/graphics.scm (graphics-t): Mark for
translation.
* website/apps/base/templates/help.scm (help-t): Mark for translation.
* website/apps/base/templates/home.scm (home-t): Mark for translation.
* website/apps/base/templates/irc.scm (irc-t): Mark for translation.
* website/apps/base/templates/menu.scm (menu-t): Mark for translation.
* website/apps/base/templates/screenshot.scm (screenshot-t):
Mark for translation.
* website/apps/base/templates/security.scm (security-t): Mark for
translation.
* website/apps/base/templates/theme.scm (theme): Mark for translation.
* website/apps/blog/templates/components.scm (post-preview, sidebar):
Mark for translation.
* website/apps/blog/templates/feed.scm (atom-feed-t): Mark for
translation.
* website/apps/blog/templates/post-list.scm (post-list-t): Mark for
translation.
* website/apps/blog/templates/post.scm (post-t): Mark for translation.
* website/apps/blog/templates/tag.scm (tag-t): Mark for translation.
* website/apps/download/data.scm (home-t): Mark for translation.
* website/apps/download/templates/components.scm (system-downloads):
Mark for translation.
* website/apps/download/templates/download.scm (download-t): Mark for
translation.
* website/apps/packages/templates/components.scm (detailed-package-preview,
letter-selector, sidebar, supported-systems->shtml): Mark for translation.
* website/apps/packages/templates/detailed-index.scm (detailed-index-t):
Mark for translation.
* website/apps/packages/templates/detailed-package-list.scm
(detailed-package-list-t): Mark for translation.
* website/apps/packages/templates/index.scm (index-t): Mark for translation.
* website/apps/packages/templates/package-list.scm (package-list-t):
Mark for translation.
* website/apps/packages/templates/package.scm (package-t): Mark for
translation.
---
website/apps/base/data.scm | 242 ++--
website/apps/base/templates/about.scm | 169 +--
website/apps/base/templates/components.scm | 102 +-
website/apps/base/templates/contact.scm | 20 +-
website/apps/base/templates/contribute.scm | 385 ++++---
website/apps/base/templates/donate.scm | 397 ++++---
website/apps/base/templates/graphics.scm | 87 +-
website/apps/base/templates/help.scm | 100 +-
website/apps/base/templates/home.scm | 245 ++--
website/apps/base/templates/irc.scm | 48 +-
website/apps/base/templates/menu.scm | 17 +-
website/apps/base/templates/screenshot.scm | 14 +-
website/apps/base/templates/security.scm | 91 +-
website/apps/base/templates/theme.scm | 51 +-
website/apps/base/utils.scm | 49 +-
website/apps/blog/templates/components.scm | 16 +-
website/apps/blog/templates/feed.scm | 3 +-
website/apps/blog/templates/post-list.scm | 23 +-
website/apps/blog/templates/post.scm | 14 +-
website/apps/blog/templates/tag.scm | 27 +-
website/apps/download/data.scm | 46 +-
website/apps/download/templates/components.scm | 12 +-
website/apps/download/templates/download.scm | 68 +-
website/apps/packages/templates/components.scm | 80 +-
website/apps/packages/templates/detailed-index.scm | 47 +-
.../packages/templates/detailed-package-list.scm | 23 +-
website/apps/packages/templates/index.scm | 45 +-
website/apps/packages/templates/package-list.scm | 21 +-
website/apps/packages/templates/package.scm | 56 +-
website/po/guix-website.pot | 1216 ++++++++++++++++++++
30 files changed, 2654 insertions(+), 1060 deletions(-)
diff --git a/website/apps/base/data.scm b/website/apps/base/data.scm
index 63c7f13..0d666ca 100644
--- a/website/apps/base/data.scm
+++ b/website/apps/base/data.scm
@@ -1,10 +1,15 @@
;;; GNU Guix web site
+;;; Copyright © 2019 Florian Pelz <address@hidden>
;;; Initially written by sirgazil who waves all
;;; copyright interest on this file.
(define-module (apps base data)
+ #:use-module (apps base templates components)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
+ #:use-module (srfi srfi-1)
+ #:use-module (sexp-xgettext)
#:export (contact-media
screenshots))
@@ -17,150 +22,187 @@
(list
;; The first three will be featured in the home page.
(contact
- #:name "IRC Channel"
+ #:name (G_ "IRC Channel")
#:description
- '(p
- "Join the " (code "#guix") " channel on the Freenode IRC network to chat
- with the community about GNUÂ Guix or to get help in
- real-time.")
+ (G_
+ `(p
+ "Join the " (code "#guix") " channel on the Freenode IRC network to chat
+ with the community about GNUÂ Guix or to get help in
+ real-time."))
#:url (guix-url "contact/irc/")
#:log guix-irc-log-url)
(contact
- #:name "Info Mailing List"
+ #:name (G_ "Info Mailing List")
#:description
- '(p "Subscribe to the " (code "info-guix") " low-traffic mailing
+ (G_
+ `(p
+ "Subscribe to the " (code "info-guix") " low-traffic mailing
list to receive important announcements sent by the project maintainers (in
-English).")
+English)."))
#:url "https://lists.gnu.org/mailman/listinfo/info-guix"
#:log "https://lists.gnu.org/archive/html/info-guix")
(contact
- #:name "Help Mailing List"
+ #:name (G_ "Help Mailing List")
#:description
- `(("de"
- "Melden Sie sich bei der âHelpâ-Mailingliste an, um per E-Mail
+ ;; Compute an association list from language code to blurb.
+ ;; If possible, look up translated blurbs from the PO file.
+ ;; Fall back to old hard-coded translations.
+ (let ((original '(G_
+ "Subscribe to the Help mailing list to get support
+from the GNUÂ Guix community via email. You can post messages in English
+though we also accept other languages."))
+ (lang-code '(C_ "unique lingua code like en or zh-cn" "en")))
+ (sort
+ (delete-duplicates
+ (append
+ (delete ;delete untranslated blurbs other than "en"
+ (cons original lang-code)
+ (map-in-order
+ (lambda (lingua)
+ (begin
+ (setlocale LC_ALL (string-append lingua ".utf8"))
+ (let ((out (list (gettext (string-append
+ (cadr lang-code) ;msgctxt
+ (string #\eot) ;separates msgctxt
+ (caddr lang-code))) ;msgid
+ (gettext (cadr original)))))
+ (setlocale LC_ALL "")
+ (if (string-index (car out) #\eot) ;if untranslated
+ (list (caddr lang-code) (cadr original)) ;use original
+ out)))) ;else use what has been looked up via gettext
+ %linguas)
+ (lambda (to-delete b) (and ;delete where text is equal to original
+ (string=? (cadar to-delete) (cadr b))
+ ;; but language code is different
+ (not (string=? (cadddr to-delete) (car b))))))
+ `(("de"
+ "Melden Sie sich bei der âHelpâ-Mailingliste an, um per E-Mail
gemeinschaftlichen Rat zu GuixSD und Guix zu bekommen. Sie können
Nachrichten auch auf deutsch verfassen.")
- ("en"
- "Subscribe to the Help mailing list to get support from the
-GNUÂ Guix community via email. You can post messages in English though we
-also accept other languages.")
- ("eo"
- "Subskribu al la retmesaÄolisto \"Help\" por demandi helpon pri
+ ("eo"
+ "Subskribu al la retmesaÄolisto \"Help\" por demandi helpon pri
GNUÂ Guix al la grupo. Vi povas skribi esperantlingve.")
- ("es"
- "SuscrĂbete a la lista de correo electrĂłnico \"Help\" por pedir
+ ("es"
+ "SuscrĂbete a la lista de correo electrĂłnico \"Help\" por pedir
ayuda con Guix. Puedes escribir mensajes en Español.")
- ("fr"
- "Abonnez-vous à la liste de diffusion « Help » pour obtenir l'aide
+ ("fr"
+ "Abonnez-vous à la liste de diffusion « Help » pour obtenir l'aide
de la communauté sur GNU Guix par courrier électronique. Vous
pouvez envoyer des messages en français.")
- ("hu"
- "Iratkozzon fel a âHelpâ levelezĆlistĂĄra, hogy segĂtsĂ©get kaphasson
+ ("hu"
+ "Iratkozzon fel a âHelpâ levelezĆlistĂĄra, hogy segĂtsĂ©get kaphasson
e-mailben a GuixSD Ă©s a GNU Guix közössĂ©gtĆl. Magyarul is kĂŒldhet
ĂŒzeneteket.")
- ("it"
- "Iscrivetevi alla mailing list 'Help' per essere aiutati da altri
+ ("it"
+ "Iscrivetevi alla mailing list 'Help' per essere aiutati da altri
utenti di Guix e GuixSD. Potete scrivere sulla mailing list anche in
italiano.")
- ("ja"
- "ăĄăŒă«ă§GNU GuixăšGuixSDăźăłăă„ăăăŁăăă”ăăŒăăćăăă«ăŻă
+ ("ja"
+ "ăĄăŒă«ă§GNU GuixăšGuixSDăźăłăă„ăăăŁăăă”ăăŒăăćăăă«ăŻă
ăHelpăăźăĄăŒăȘăłă°ăȘăčăă«ç»éČăăŠăă ăăă
ăĄăă»ăŒăžć
ćźčăŻæ„æŹèȘă§ăćéĄăăăăŸăăăăć€èšèȘă§ăćăä»ăăŠăăăŸăă")
- ("nb"
- "Meld deg pÄ diskusjonslisten «Help» for Ä fÄ rÄd og tips fra
+ ("nb"
+ "Meld deg pÄ diskusjonslisten «Help» for Ä fÄ rÄd og tips fra
andre GuixSD- og GNU Guix-brukere via e-post. Du kan legge inn
meldinger pÄ norsk.")
- ("nl"
- "Abonneer je op de discussielijst \"Help\" om hulp te vragen
+ ("nl"
+ "Abonneer je op de discussielijst \"Help\" om hulp te vragen
van de GuixSD- en GNU Guix-gemeenschap. Je kunt berichten sturen in
het Nederlands.")
- ("ru"
- "ĐĐŸĐŽĐżĐžŃĐžŃĐ”ŃŃ ĐœĐ° ŃпОŃĐŸĐș ŃĐ°ŃŃŃĐ»ĐșĐž «Help», ŃŃĐŸĐ±Ń ĐżĐŸĐ»ŃŃĐžŃŃ ĐżĐŸĐŒĐŸŃŃ ĐŸŃ
+ ("ru"
+ "ĐĐŸĐŽĐżĐžŃĐžŃĐ”ŃŃ ĐœĐ° ŃпОŃĐŸĐș ŃĐ°ŃŃŃĐ»ĐșĐž «Help», ŃŃĐŸĐ±Ń ĐżĐŸĐ»ŃŃĐžŃŃ ĐżĐŸĐŒĐŸŃŃ ĐŸŃ
ŃĐŸĐŸĐ±ŃĐ”ŃŃĐČĐ° GuixSD Đž GNU Guix ĐżĐŸ ŃлДĐșŃŃĐŸĐœĐœĐŸĐč ĐżĐŸŃŃĐ”. ĐŃ ĐŒĐŸĐ¶Đ”ŃĐ” пОŃĐ°ŃŃ ĐœĐ° ŃŃŃŃĐșĐŸĐŒ
ŃĐ·ŃĐșĐ”.")
- ("zh-Hant"
- "èšé±ăHelpăé”件矀ç”仄é»é”ćŸGuixSDćGNU Guix瀟矀ććŸæŻæŽăäœ ćŻä»„äœżçš
-æŁé«ăçčé«äžæçŒéèšæŻă"))
-
+ ("zh-Hant"
+ "èšé±ăHelpăé”件矀ç”仄é»é”ćŸGuixSDćGNU Guix瀟矀ććŸæŻæŽăäœ ćŻä»„äœżçš
+æŁé«ăçčé«äžæçŒéèšæŻă")))
+ (lambda (a b) (string=? (car a) (car b))))
+ (lambda (a b) (string<? (car a) (car b)))))
#:url "https://lists.gnu.org/mailman/listinfo/help-guix"
#:log "https://lists.gnu.org/archive/html/help-guix")
(contact
- #:name "Bug Reporting"
+ #:name (G_ "Bug Reporting")
#:description
- '(p
- "If you found a bug in Guix, check whether the bug is
- already in the "
- (a (@ (href "https://issues.guix.gnu.org"))
- "bug database")
- ". If it is not, please "
- (a (@ (href "mailto:address@hidden")) "report it."))
+ (G_
+ `(p
+ "If you found a bug in Guix, check whether the bug is
+ already in the "
+ ,(G_ `(a (@ (href "https://issues.guix.gnu.org"))
+ "bug database"))
+ ". If it is not, please "
+ ,(G_ `(a (@ (href "mailto:address@hidden")) "report it."))))
#:url "https://lists.gnu.org/mailman/listinfo/bug-guix"
#:log "https://issues.guix.gnu.org/")
(contact
- #:name "Development Mailing List"
+ #:name (G_ "Development Mailing List")
#:description
- '(p
- "Discussion about the development of GNU Guix. "
- (a (@ (href
"https://lists.gnu.org/archive/html/bug-guix/2013-07/msg00039.html"))
- " Until July 2013")
- ", the bug-Guix mailing list filled that role. ")
+ (G_
+ `(p
+ "Discussion about the development of GNU Guix. "
+ ,(G_ `(a (@ (href
"https://lists.gnu.org/archive/html/bug-guix/2013-07/msg00039.html"))
+ " Until July 2013"))
+ ", the bug-Guix mailing list filled that role. "))
#:url "https://lists.gnu.org/mailman/listinfo/guix-devel"
#:log "https://lists.gnu.org/archive/html/guix-devel")
(contact
- #:name "Patches Mailing List"
+ #:name (G_ "Patches Mailing List")
#:description
- `(p
- "Submission of patches. Every message sent to this mailing list
- leads to a new entry in our "
- (a (@ (href "https://issues.guix.gnu.org"))
- "patch tracking tool")
- ". See "
- (a (@ (href "https://debbugs.gnu.org/Advanced.html")) "this page")
- " for more information on how to use it; see "
- (a (@ (href ,(manual-url "Submitting-Patches.html")))
- "the manual")
- " for more information on how to submit a patch. "
- (a (@ (href
"https://lists.gnu.org/archive/html/guix-devel/2017-02/msg00627.html"))
- "Until February 2017")
- ", the guix-devel mailing list filled that role.")
+ (G_
+ `(p
+ "Submission of patches. Every message sent to this mailing list
+ leads to a new entry in our "
+ ,(G_ `(a (@ (href "https://issues.guix.gnu.org"))
+ "patch tracking tool"))
+ ". See "
+ ,(G_ `(a (@ (href "https://debbugs.gnu.org/Advanced.html")) "this
page"))
+ " for more information on how to use it; see "
+ ,(G_ (manual-href "the manual" (G_ "en") (G_
"Submitting-Patches.html")))
+ " for more information on how to submit a patch. "
+ ,(G_
+ `(a (@ (href
"https://lists.gnu.org/archive/html/guix-devel/2017-02/msg00627.html"))
+ "Until February 2017"))
+ ", the guix-devel mailing list filled that role."))
#:url "https://lists.gnu.org/mailman/listinfo/guix-patches"
#:log "https://issues.guix.gnu.org")
(contact
- #:name "Commits Mailing List"
+ #:name (G_ "Commits Mailing List")
#:description
- `(p
- "Notifications of commits made to the "
- (a (@ (href ,(guix-url "contribute/"))) "Git repositories")
- ".")
+ (G_
+ `(p
+ "Notifications of commits made to the "
+ ,(G_ `(a (@ (href ,(guix-url "contribute/"))) "Git repositories"))
+ "."))
#:url "https://lists.gnu.org/mailman/listinfo/guix-commits"
#:log "https://lists.gnu.org/archive/html/guix-commits")
(contact
- #:name "Security Mailing List"
+ #:name (G_ "Security Mailing List")
#:description
- `(p
- "This is a private mailing list that anyone can post to to "
- (a (@ (href ,(guix-url "security/"))) "report security issues")
- " in Guix itself or in "
- "the " (a (@ (href ,(guix-url "packages/"))) "packages")
- " it provides. Posting here allows Guix developers to address
- the problem before it is widely publicized.")
+ (G_
+ `(p
+ "This is a private mailing list that anyone can post to to "
+ ,(G_ `(a (@ (href ,(guix-url "security/"))) "report security issues"))
+ " in Guix itself or in "
+ "the " ,(G_ `(a (@ (href ,(guix-url "packages/"))) "packages"))
+ " it provides. Posting here allows Guix developers to address
+ the problem before it is widely publicized."))
#:url "https://lists.gnu.org/mailman/listinfo/guix-security"
#:log "")
(contact
- #:name "Sysadmin Mailing List"
+ #:name (G_ "Sysadmin Mailing List")
#:description
- '(p
- "Private mailing list for the "
- (a (@ (href "https://hydra.gnu.org/")) "build farm")
- " system administration.")
+ (G_
+ `(p
+ "Private mailing list for the "
+ ,(G_ `(a (@ (href "https://hydra.gnu.org/")) "build farm"))
+ " system administration."))
#:url "https://lists.gnu.org/mailman/listinfo/guix-sysadmin"
#:log "")
@@ -168,23 +210,23 @@ het Nederlands.")
;; Non-Guix lists.
(contact
- #:name "GNU System Discuss Mailing List"
+ #:name (G_ "GNU System Discuss Mailing List")
#:description
- '(p "Discussion about the development of the broader GNU system.")
+ (G_ '(p "Discussion about the development of the broader GNU system."))
#:url "https://lists.gnu.org/mailman/listinfo/gnu-system-discuss"
#:log "https://lists.gnu.org/archive/html/gnu-system-discuss/")
(contact
- #:name "GNU/Linux-libre Mailing List"
+ #:name (G_ "GNU/Linux-libre Mailing List")
#:description
- '(p "Workgroup for fully free GNU/Linux distributions.")
+ (G_ '(p "Workgroup for fully free GNU/Linux distributions."))
#:url "https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre"
#:log "https://lists.nongnu.org/archive/html/gnu-linux-libre/")
(contact
- #:name "GNU Info Mailing List"
+ #:name (G_ "GNU Info Mailing List")
#:description
- '(p "GNU software announcements.")
+ (G_ '(p "GNU software announcements."))
#:url "https://lists.gnu.org/mailman/listinfo/info-gnu"
#:log "https://lists.gnu.org/archive/html/info-gnu/")))
@@ -193,36 +235,36 @@ het Nederlands.")
(define screenshots
(list
(screenshot
- #:title "Graphical log-in"
+ #:title (C_ "screenshot title" "Graphical log-in")
#:slug "slim"
#:image (guix-url "static/media/img/gdm-sessions.png")
#:preview (guix-url "static/media/img/gdm-sessions.mini.png")
- #:caption "Graphical log-in screen")
+ #:caption (G_ "Graphical log-in screen"))
(screenshot
- #:title "GNOME"
+ #:title (C_ "screenshot title" "GNOME")
#:slug "gnome"
#:image (guix-url "static/media/img/gnome-totem-epiphany.png")
#:preview (guix-url "static/media/img/gnome-totem-epiphany.mini.png")
- #:caption "Control your computer with the GNOME desktop environment")
+ #:caption (G_ "Control your computer with the GNOME desktop environment"))
(screenshot
- #:title "Xfce"
+ #:title (C_ "screenshot title" "Xfce")
#:slug "xfce"
#:image (guix-url "static/media/img/guixsd-xfce-icecat-emacs.png")
#:preview (guix-url "static/media/img/guixsd-xfce-icecat-emacs.mini.png")
- #:caption "The Xfce desktop environment with GNUÂ Emacs and IceCat")
+ #:caption (G_ "The Xfce desktop environment with GNUÂ Emacs and IceCat"))
(screenshot
- #:title "Virtual machine"
+ #:title (C_ "screenshot title" "Virtual machine")
#:slug "virtual-machine"
#:image (guix-url "static/media/img/guix-system-vm.png")
#:preview (guix-url "static/media/img/guix-system-vm.mini.png")
- #:caption "Virtual machine started with 'guix system vm'")
+ #:caption (G_ "Virtual machine started with 'guix system vm'"))
(screenshot
- #:title "Enlightenment"
+ #:title (C_ "screenshot title" "Enlightenment")
#:slug "enlightenment"
#:image (guix-url "static/media/img/enlightenment-inkscape.png")
#:preview (guix-url "static/media/img/enlightenment-inkscape.mini.png")
- #:caption "Enlightenment, Inkscape, and Serbian text")))
+ #:caption (G_ "Enlightenment, Inkscape, and Serbian text"))))
diff --git a/website/apps/base/templates/about.scm
b/website/apps/base/templates/about.scm
index a654e2f..ab81cb2 100644
--- a/website/apps/base/templates/about.scm
+++ b/website/apps/base/templates/about.scm
@@ -3,105 +3,124 @@
;;; copyright interest on this file.
(define-module (apps base templates about)
+ #:use-module (apps base templates components)
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (about-t))
(define (about-t)
"Return the About page in SHTML."
(theme
- #:title '("About")
+ #:title (C_ "webpage title" '("About"))
#:description
- "Guix is an advanced distribution of the GNU operating system.
- Guix is technology that respects the freedom of computer users.
- You are free to run the system for any purpose, study how it
- works, improve it, and share it with the whole world."
+ (G_ "Guix is an advanced distribution of the GNU operating system.
+ Guix is technology that respects the freedom of computer users.
+ You are free to run the system for any purpose, study how it
+ works, improve it, and share it with the whole world.")
#:keywords
- (list "GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager")
- #:active-menu-item "About"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager") #\|)
+ #:active-menu-item (C_ "website menu" "About")
#:css (list
(guix-url "static/base/css/page.css"))
- #:crumbs (list (crumb "About" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "About") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "About the Project")
+ ,(G_ `(h2 "About the Project"))
- (p
- "The " (em "GNU Guix") " package and system manager is a "
- (a (@ (href ,(gnu-url "philosophy/free-sw.html")))
- "free software")
- " project developed by volunteers around the world under the
- umbrella of the " (a (@ (href ,(gnu-url))) "GNU Project") ". ")
+ ,(G_
+ `(p
+ "The " ,(G_ `(em "GNU Guix")) " package and system manager is a "
+ ,(G_ `(a (@ (href ,(gnu-url "philosophy/free-sw.html")))
+ "free software"))
+ " project developed by volunteers around the world under the
+ umbrella of the "
+ ,(G_ `(a (@ (href ,(gnu-url))) "GNU Project")) ". "))
- (p
- "Guix System is an advanced distribution of the "
- (a (@ (href ,(gnu-url))) "GNU operating system")
- ". It uses the "
- (a (@ (href ,(gnu-url "software/linux-libre"))) "Linux-libre")
- " kernel, and support for "
- (a (@ (href ,(gnu-url "software/hurd"))) "the Hurd")
- " is being worked on. As a GNU distribution, it is committed
- to respecting and enhancing "
- (a (@ (href ,(gnu-url "philosophy/free-sw.html")))
- "the freedom of its users")
- ". As such, it adheres to the "
- (a (@ (href ,(gnu-url
"distros/free-system-distribution-guidelines.html")))
- "GNU Free System Distribution Guidelines") ".")
+ ,(G_
+ `(p
+ "Guix System is an advanced distribution of the "
+ ,(G_ `(a (@ (href ,(gnu-url))) "GNU operating system"))
+ ". It uses the "
+ ,(G_ `(a (@ (href ,(gnu-url "software/linux-libre"))) "Linux-libre"))
+ " kernel, and support for "
+ ,(G_ `(a (@ (href ,(gnu-url "software/hurd"))) "the Hurd"))
+ " is being worked on. As a GNU distribution, it is committed
+ to respecting and enhancing "
+ ,(G_ `(a (@ (href ,(gnu-url "philosophy/free-sw.html")))
+ "the freedom of its users"))
+ ". As such, it adheres to the "
+ ,(G_ `(a (@ (href ,(gnu-url
"distros/free-system-distribution-guidelines.html")))
+ "GNU Free System Distribution Guidelines")) "."))
- (p
- "GNU Guix provides "
- (a (@ (href ,(manual-url "Features.html")))
- "state-of-the-art package management features")
- " such as transactional upgrades and roll-backs, reproducible
- build environments, unprivileged package management, and
- per-user profiles. It uses low-level mechanisms from the "
- (a (@ (href "https://nixos.org/nix/")) "Nix")
- " package manager, but packages are "
- (a (@ (href ,(manual-url "Defining-Packages.html"))) "defined")
- " as native "
- (a (@ (href ,(gnu-url "software/guile"))) "Guile")
- " modules, using extensions to the "
- (a (@ (href "http://schemers.org")) "Scheme")
- " languageâwhich makes it nicely hackable.")
+ ;; TRANSLATORS: Features and Defining Packages are section names
+ ;; in the English (en) manual.
+ ,(G_
+ `(p
+ "GNU Guix provides "
+ ,(G_ (manual-href "state-of-the-art package management features"
+ (G_ "en")
+ (G_ "Features.html")))
+ " such as transactional upgrades and roll-backs, reproducible
+ build environments, unprivileged package management, and
+ per-user profiles. It uses low-level mechanisms from the "
+ ,(G_ `(a (@ (href "https://nixos.org/nix/")) "Nix"))
+ " package manager, but packages are "
+ ,(G_ (manual-href "defined" (G_ "en") (G_ "Defining-Packages.html")))
+ " as native "
+ ,(G_ `(a (@ (href ,(gnu-url "software/guile"))) "Guile"))
+ " modules, using extensions to the "
+ ,(G_ `(a (@ (href "http://schemers.org")) "Scheme"))
+ " languageâwhich makes it nicely hackable."))
- (p
- "Guix takes that a step further by additionally supporting stateless,
- reproducible "
- (a (@ (href ,(manual-url "Using-the-Configuration-System.html")))
- "operating system configurations")
- ". This time the whole system is hackable in Scheme, from the "
- (a (@ (href ,(manual-url "Initial-RAM-Disk.html")))
- "initial RAM disk")
- " to the "
- (a (@ (href ,(gnu-url "software/shepherd")))
- "initialization system")
- ", and to the "
- (a (@ (href ,(manual-url "Defining-Services.html")))
- "system services")
- ".")
+ ;; TRANSLATORS: Using the Configuration System, Initial RAM Disk
+ ;; and Defining Services are section names in the English (en)
+ ;; manual.
+ ,(G_
+ `(p
+ "Guix takes that a step further by additionally supporting stateless,
+ reproducible "
+ ,(G_ (manual-href "operating system configurations"
+ (G_ "en")
+ (G_ "Using-the-Configuration-System.html")))
+ ". This time the whole system is hackable in Scheme, from the "
+ ,(G_ (manual-href "initial RAM disk"
+ (G_ "en")
+ (G_ "Initial-RAM-Disk.html")))
+ " to the "
+ ,(G_ `(a (@ (href ,(gnu-url "software/shepherd")))
+ "initialization system"))
+ ", and to the "
+ ,(G_ (manual-href "system services"
+ (G_ "en")
+ (G_ "Defining-Services.html")))
+ "."))
- (h3 (@ (id "mantainer")) "Maintainer")
+ ,(G_ `(h3 (@ (id "mantainer")) "Maintainer"))
- (p
- "Guix is currently maintained by Ludovic CourtĂšs and Ricardo
- Wurmus. Please use the "
- (a (@ (href ,(guix-url "contact/"))) "mailing lists")
- " for contact. ")
+ ,(G_
+ `(p
+ "Guix is currently maintained by Ludovic CourtĂšs and Ricardo
+ Wurmus. Please use the "
+ ,(G_ `(a (@ (href ,(guix-url "contact/"))) "mailing lists"))
+ " for contact. "))
- (h3 (@ (id "license")) "Licensing")
+ ,(G_ `(h3 (@ (id "license")) "Licensing"))
- (p
- "Guix is free software; you can redistribute it and/or modify
- it under the terms of the "
- (a (@ (rel "license") (href ,(gnu-url "licenses/gpl.html")))
- "GNU General Public License")
- " as published by the Free Software Foundation; either
- version\xa03 of the License, or (at your option) any later
- version. ")))))
+ ,(G_
+ `(p
+ "Guix is free software; you can redistribute it and/or modify
+ it under the terms of the "
+ ,(G_ `(a (@ (rel "license") (href ,(gnu-url "licenses/gpl.html")))
+ "GNU General Public License"))
+ " as published by the Free Software Foundation; either
+ version\xa03 of the License, or (at your option) any later
+ version. "))))))
diff --git a/website/apps/base/templates/components.scm
b/website/apps/base/templates/components.scm
index d3f6af1..6b5ec21 100644
--- a/website/apps/base/templates/components.scm
+++ b/website/apps/base/templates/components.scm
@@ -1,4 +1,5 @@
;;; GNU Guix web site
+;;; Copyright © 2019 Florian Pelz <address@hidden>
;;; Initially written by sirgazil who waves all
;;; copyright interest on this file.
@@ -12,6 +13,7 @@
#:use-module (apps aux web)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (breadcrumbs
@@ -23,6 +25,8 @@
link-more
link-subtle
link-yellow
+ manual-href
+ manual-link-yellow
navbar
page-indicator
page-selector
@@ -41,9 +45,9 @@
(apps base types)."
`(nav
(@ (class "breadcrumbs"))
- (h2 (@ (class "a11y-offset")) "Your location:")
+ ,(G_ `(h2 (@ (class "a11y-offset")) "Your location:"))
- (a (@ (class "crumb") (href ,(guix-url))) "Home") (span " â ")
+ ,(G_ `(a (@ (class "crumb") (href ,(guix-url))) "Home")) (span " â ")
,@(separate (crumbs->shtml crumbs) '(span " â "))))
@@ -121,8 +125,9 @@
(sxml->string*
(match (contact-description contact)
((and multilingual (((? string?) (? string?)) ...))
- (match (assoc "en" multilingual)
- (("en" blurb) blurb)))
+ (let ((code %current-lang))
+ (match (assoc code multilingual)
+ ((code blurb) blurb))))
(blurb
blurb)))
30)
@@ -145,7 +150,7 @@
,(if (string=? (contact-log contact) "")
""
`(small
- " (" (a (@ (href ,(contact-log contact))) "archive") ") "))
+ " (" ,(G_ `(a (@ (href ,(contact-log contact))) "archive")) ") "))
;; The description can be a list of language/blurb pairs.
,(match (contact-description contact)
@@ -216,6 +221,51 @@
`(a (@ (class "link-yellow") (href ,url)) ,label))
+
+
+(define (manual-href label manual-lang _1 subpath _2)
+ "Return an HTML a element with its href attribute pointing to the
+manual. It can be marked for translation as:
+
+ (G_ (manual-href \"some-text\" (G_ \"en\") (G_ \"Some-section.html\")))
+
+ LABEL (string)
+ The content of the a element.
+
+ MANUAL-LANG (string)
+ The normalized language for the Guix manual as produced by
+'doc/build.scm' in the Guix source tree, i.e. \"en\" for the English
+manual.
+
+ SUBPATH (string)
+ The same as in the manual-url procedure."
+ ;; The _ arguments are placeholders for args added by G_, cf. i18n-howto.txt.
+ `(a (@ (href ,(manual-url subpath #:language manual-lang))) label))
+
+(define* (manual-link-yellow label manual-lang _1 #:optional (subpath "") _2)
+ "Return a link-yellow component pointing to the manual. It can be
+used like this:
+
+ (manual-link-yellow \"some-text\" (G_ \"en\") \"Package-Management.html\")
+
+ LABEL (string)
+ The label of the link-yellow.
+
+ MANUAL-LANG (string)
+ The normalized language for the Guix manual as produced by
+'doc/build.scm' in the Guix source tree, i.e. \"en\" for the English
+manual.
+
+ SUBPATH (string)
+ The same as in the manual-url procedure."
+ ;; The _ arguments are placeholders for args added by G_, cf. i18n-howto.txt.
+ (link-yellow
+ #:label label
+ #:url (manual-url subpath #:language manual-lang)))
+
+
+
+
(define* (menu-dropdown #:key (label "Item") (active-item "") (url "#") (items
'()))
"Return an SHTML li element representing a dropdown for the navbar.
@@ -284,26 +334,26 @@
(h1
(a
(@ (class "branding") (href ,(guix-url)))
- (span (@ (class "a11y-offset")) "Guix")))
+ ,(C_ "website menu" `(span (@ (class "a11y-offset")) "Guix"))))
;; Menu.
(nav (@ (class "menu"))
- (h2 (@ (class "a11y-offset")) "Website menu:")
+ ,(G_ `(h2 (@ (class "a11y-offset")) "website menu:"))
(ul
- ,(menu-item #:label "Overview" #:active-item active-item #:url
(guix-url))
- ,(menu-item #:label "Download" #:active-item active-item #:url (guix-url
"download/"))
- ,(menu-item #:label "Packages" #:active-item active-item #:url (guix-url
"packages/"))
- ,(menu-item #:label "Blog" #:active-item active-item #:url (guix-url
"blog/"))
- ,(menu-item #:label "Help" #:active-item active-item #:url (guix-url
"help/"))
- ,(menu-item #:label "Donate" #:active-item active-item #:url (guix-url
"donate/"))
-
- ,(menu-dropdown #:label "About" #:active-item active-item #:url
(guix-url "about/")
+ ,(C_ "website menu" (menu-item #:label "Overview" #:active-item
active-item #:url (guix-url)))
+ ,(C_ "website menu" (menu-item #:label "Download" #:active-item
active-item #:url (guix-url "download/")))
+ ,(C_ "website menu" (menu-item #:label "Packages" #:active-item
active-item #:url (guix-url "packages/")))
+ ,(C_ "website menu" (menu-item #:label "Blog" #:active-item active-item
#:url (guix-url "blog/")))
+ ,(C_ "website menu" (menu-item #:label "Help" #:active-item active-item
#:url (guix-url "help/")))
+ ,(C_ "website menu" (menu-item #:label "Donate" #:active-item
active-item #:url (guix-url "donate/")))
+
+ ,(menu-dropdown #:label (C_ "website menu" "About") #:active-item
active-item #:url (guix-url "about/")
#:items
- (list
- (menu-item #:label "Contact" #:active-item active-item #:url (guix-url
"contact/"))
- (menu-item #:label "Contribute" #:active-item active-item #:url
(guix-url "contribute/"))
- (menu-item #:label "Security" #:active-item active-item #:url
(guix-url "security/"))
- (menu-item #:label "Graphics" #:active-item active-item #:url
(guix-url "graphics/"))))))
+ (list
+ (C_ "website menu" (menu-item #:label "Contact" #:active-item
active-item #:url (guix-url "contact/")))
+ (C_ "website menu" (menu-item #:label "Contribute" #:active-item
active-item #:url (guix-url "contribute/")))
+ (C_ "website menu" (menu-item #:label "Security" #:active-item
active-item #:url (guix-url "security/")))
+ (C_ "website menu" (menu-item #:label "Graphics" #:active-item
active-item #:url (guix-url "graphics/")))))))
;; Menu button.
(a
@@ -321,10 +371,10 @@
TOTAL-PAGES (number)
The total number of pages that should be displayed."
(if (> total-pages 1)
- `(span
- (@ (class "page-number-indicator"))
- " (Page " ,(number->string page-number)
- " of " ,(number->string total-pages) ")")
+ (G_ `(span
+ (@ (class "page-number-indicator"))
+ " (Page " ,(number->string page-number)
+ " of " ,(number->string total-pages) ")"))
""))
@@ -345,8 +395,8 @@
(@ (class "page-selector"))
(h3
(@ (class "a11y-offset"))
- ,(string-append "Page " (number->string active-page) " of "
- (number->string pages) ". Go to another page: "))
+ ,(G_ (string-append "Page " (number->string active-page) " of "
+ (number->string pages) ". Go to another page: ")))
,(if (> pages 1)
(map
(lambda (page-number)
diff --git a/website/apps/base/templates/contact.scm
b/website/apps/base/templates/contact.scm
index d4ee2f2..44dbabb 100644
--- a/website/apps/base/templates/contact.scm
+++ b/website/apps/base/templates/contact.scm
@@ -7,31 +7,33 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (contact-t))
(define (contact-t context)
"Return the Contact page in SHTML with the data in CONTEXT."
(theme
- #:title '("Contact")
+ #:title (C_ "webpage title" '("Contact"))
#:description
- "A list of channels to communicate with GNUÂ Guix users
- and developers about anything you want."
+ (G_ "A list of channels to communicate with GNUÂ Guix users
+ and developers about anything you want.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Community" "Mailing lists" "IRC channels" "Bug reports" "Help")
- #:active-menu-item "About"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Community|Mailing lists|IRC \
+channels|Bug reports|Help") #\|)
+ #:active-menu-item (C_ "website menu" "About")
#:css (list
(guix-url "static/base/css/page.css")
(guix-url "static/base/css/buttons.css")
(guix-url "static/base/css/contact.css"))
- #:crumbs (list (crumb "Contact" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Contact") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "Contact")
+ ,(G_ `(h2 "Contact"))
,@(map
contact->shtml
diff --git a/website/apps/base/templates/contribute.scm
b/website/apps/base/templates/contribute.scm
index 4d68e87..ff12815 100644
--- a/website/apps/base/templates/contribute.scm
+++ b/website/apps/base/templates/contribute.scm
@@ -7,248 +7,289 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (contribute-t))
(define (contribute-t)
"Return the Contribute page in SHTML."
(theme
- #:title '("Contribute")
+ #:title (C_ "webpage title" '("Contribute"))
#:description
- "Check all the ways you can contribute to make GNUÂ Guix
- better, and join the world-wide community of volunteers."
+ (G_ "Check all the ways you can contribute to make GNUÂ Guix
+ better, and join the world-wide community of volunteers.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Volunteer" "Development" "Translation" "I18N" "L10N"
- "Artwork")
- #:active-menu-item "About"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Volunteer|Development|\
+Translation|I18N|L10N|Artwork") #\|)
+ #:active-menu-item (C_ "website menu" "About")
#:css (list
(guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css"))
- #:crumbs (list (crumb "Contribute" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Contribute") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "Contribute")
-
- (p
- "GNUÂ Guix is a large project developed
- mostly by volunteers from all around the world. You are welcome
- to join us in the "
- (a (@ (href "https://lists.gnu.org/mailman/listinfo/guix-devel"))
- "development mailing list")
- " or in the "
- (a (@ (href ,(guix-url "contact/irc/"))) "#guix channel")
- " in IRC Freenode. Tell us how would you like to help, and we
- will do our best to guide you. ")
-
- (p
- "We want to provide a warm, friendly, and harassment-free environment,
- so that anyone can contribute to the best of their abilities. To this
- end our project uses a âContributor Covenantâ, which was adapted from "
- (a (@ (href "https://contributor-covenant.org/"))
- "https://contributor-covenant.org/")
- ". You can find the full pledge in the "
- (a (@ (href "//git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT")
- (class "mono"))
- "CODE-OF-CONDUCT") " file.")
+ ,(G_ `(h2 "Contribute"))
+
+ ,(G_
+ `(p
+ "GNUÂ Guix is a large project developed
+ mostly by volunteers from all around the world. You are welcome
+ to join us in the "
+ ,(G_
+ `(a (@ (href "https://lists.gnu.org/mailman/listinfo/guix-devel"))
+ "development mailing list"))
+ " or in the "
+ ,(G_
+ `(a (@ (href ,(guix-url "contact/irc/"))) "#guix channel"))
+ " in IRC Freenode. Tell us how would you like to help, and we
+ will do our best to guide you. "))
+
+ ,(G_
+ `(p
+ "We want to provide a warm, friendly, and harassment-free
environment,
+ so that anyone can contribute to the best of their abilities. To
+ this end our project uses a âContributor Covenantâ, which was
adapted
+ from "
+ ,(G_ ((lambda (url)
+ `(a (@ (href ,url)) url))
+ "https://contributor-covenant.org/"))
+ ". You can find the full pledge in the "
+ ,(G_
+ `(a (@ (href
"//git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT")
+ (class "mono"))
+ "CODE-OF-CONDUCT"))
+ " file."))
(div
(@ (class "centered-text"))
(div
(@ (class "summary-box"))
- (h3 (@ (id "pms")) "Project Management")
- (p
- "We use "
- (a (@ (href "https://savannah.gnu.org/")) "Savannah")
- " as the central point for development, maintenance and
- distribution of the Guix System Distribution and GNU Guix.")
- (p
- "The source files for all the components of the project,
- including software, web site, documentation, and artwork, are
- available in "
- (a (@ (href "https://savannah.gnu.org/git/?group=guix"))
- "Git repositories")
- " at Savannah. ")
+ ,(G_ `(h3 (@ (id "pms")) "Project Management"))
+ ,(G_
+ `(p
+ "We use "
+ ,(G_ `(a (@ (href "https://savannah.gnu.org/")) "Savannah"))
+ " as the central point for development, maintenance and
+ distribution of the Guix System Distribution and GNU Guix."))
+ ,(G_
+ `(p
+ "The source files for all the components of the project,
+ including software, web site, documentation, and artwork, are
+ available in "
+ ,(G_ `(a (@ (href "https://savannah.gnu.org/git/?group=guix"))
+ "Git repositories"))
+ " at Savannah. "))
(p
,(link-more
- #:label "Access Savannah"
+ #:label (G_ "Access Savannah")
#:url "https://savannah.gnu.org/projects/guix")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "art")) "Art")
- (p
- "We are always looking for artists to help us design and
- improve user interfaces, and create multimedia material for
- documentation, presentations, and promotional items. ")
- (p
- "The artwork used in the different components of the project
- is available in the "
- (a (@ (href "//git.savannah.gnu.org/cgit/guix/guix-artwork.git"))
- "guix-artwork")
- " repository. ")
+ ,(G_ `(h3 (@ (id "art")) "Art"))
+ ,(G_
+ `(p
+ "We are always looking for artists to help us design and
+ improve user interfaces, and create multimedia material for
+ documentation, presentations, and promotional items. "))
+ ,(G_
+ `(p
+ "The artwork used in the different components of the project
+ is available in the "
+ ,(G_
+ `(a (@ (href
"//git.savannah.gnu.org/cgit/guix/guix-artwork.git"))
+ "guix-artwork"))
+ " repository. "))
(p
,(link-more
- #:label "Contribute"
+ #:label (G_ "Contribute")
#:url "https://lists.gnu.org/mailman/listinfo/guix-devel")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "documentation")) "Documentation")
- (p
- "You can read the "
- (a (@ (href ,(guix-url "help/"))) "project documentation")
- " already available in the system and in the website, and
- help us identify any errors or omissions. Creating new
- manuals, tutorials, and blog entries will also help users and
- developers discover what we do. ")
- (p
- "Helping improve the documentation of the "
- (a (@ (href ,(guix-url "packages/"))) "packaged software")
- " is another way to contribute. ")
+ ,(G_ `(h3 (@ (id "documentation")) "Documentation"))
+ ,(G_
+ `(p
+ "You can read the "
+ ,(G_ `(a (@ (href ,(guix-url "help/"))) "project documentation"))
+ " already available in the system and in the website, and
+ help us identify any errors or omissions. Creating new
+ manuals, tutorials, and blog entries will also help users and
+ developers discover what we do. "))
+ ,(G_
+ `(p
+ "Helping improve the documentation of the "
+ ,(G_ `(a (@ (href ,(guix-url "packages/"))) "packaged software"))
+ " is another way to contribute. "))
(p
,(link-more
- #:label "Start writing"
+ #:label (G_ "Start writing")
#:url "https://lists.gnu.org/mailman/listinfo/guix-devel")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "packages")) "Packages")
- (p
- "Hundreds of software, documentation, and assets need to be
- packaged to make it easier for users to install their
- favorite tools with the Guix package manager, and be
- productive using the system. ")
- (p
- "Information on how to add packages to the distribution can
- be found "
- (a (@ (href ,(manual-url "Packaging-Guidelines.html")))
- "in the manual")
- ". ")
- (p
- "Check out the "
- (a (@ (href ,(guix-url "packages/")))
- "package database")
- " for a list of available packages, and the "
- (a (@ (href "//bugs.gnu.org/guix-patches"))
- "patch-tracking database")
- " for a list of pending submissions.")
+ ,(G_ `(h3 (@ (id "packages")) "Packages"))
+ ,(G_
+ `(p
+ "Hundreds of software, documentation, and assets need to be
+ packaged to make it easier for users to install their
+ favorite tools with the Guix package manager, and be
+ productive using the system. "))
+ ;; TRANSLATORS: Packaging Guidelines is a section name in the
+ ;; English (en) manual.
+ ,(G_
+ `(p
+ "Information on how to add packages to the distribution can
+ be found "
+ ,(G_
+ (manual-href
+ "in the manual"
+ (G_ "en")
+ (G_ "Packaging-Guidelines.html")))
+ ". "))
+ ,(G_
+ `(p
+ "Check out the "
+ ,(G_ `(a (@ (href ,(guix-url "packages/")))
+ "package database"))
+ " for a list of available packages, and the "
+ ,(G_ `(a (@ (href "//bugs.gnu.org/guix-patches"))
+ "patch-tracking database"))
+ " for a list of pending submissions."))
(p
,(link-more
- #:label "Send a new package"
+ #:label (G_ "Send a new package")
#:url "https://lists.gnu.org/mailman/listinfo/guix-patches")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "programming")) "Programming")
- (p
- "Source code is in the "
- (a (@ (href "//git.savannah.gnu.org/cgit/guix.git/"))
- "main Git repository")
- ". "
- "We use "
- (a (@ (href ,(gnu-url "software/guile"))) "GNU Guile")
- " as the main programming and extension language for the
- components of the system. ")
- (p
- "You will find it useful to browse the "
- (a (@ (href ,(gnu-url "software/guile/manual")))
- "Guile manual")
- " or other "
- (a (@ (href "http://www.schemers.org/Documents/#intro-texts"))
- "introductory material about Scheme")
- ". Also, make sure to read the "
- (a (@ (href ,(manual-url "Contributing.html")))
- "Contributing")
- " section of the manual for more details on the development
- setup, as well as the coding and cooperation conventions used
- in the project. ")
+ ,(G_ `(h3 (@ (id "programming")) "Programming"))
+ ,(G_
+ `(p
+ "Source code is in the "
+ ,(G_ `(a (@ (href "//git.savannah.gnu.org/cgit/guix.git/"))
+ "main Git repository"))
+ ". "
+ "We use "
+ ,(G_ `(a (@ (href ,(gnu-url "software/guile"))) "GNU Guile"))
+ " as the main programming and extension language for the
+ components of the system. "))
+ ;; TRANSLATORS: Contributing is a section name in the English
+ ;; (en) manual.
+ ,(G_
+ `(p
+ "You will find it useful to browse the "
+ ,(G_
+ `(a (@ (href ,(gnu-url "software/guile/manual")))
+ "Guile manual"))
+ " or other "
+ ,(G_ `(a (@ (href
"http://www.schemers.org/Documents/#intro-texts"))
+ "introductory material about Scheme"))
+ ". Also, make sure to read the "
+ ,(G_ (manual-href "Contributing"
+ (G_ "en")
+ (G_ "Contributing.html")))
+ " section of the manual for more details on the development
+ setup, as well as the coding and cooperation conventions used
+ in the project. "))
(p
,(link-more
- #:label "Send a patch"
+ #:label (G_ "Send a patch")
#:url "https://lists.gnu.org/mailman/listinfo/guix-patches")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "sysadmin")) "System Administration")
- (p
- "Our system infrastructure makes it possible for all the
- contributors to communicate and collaborate in the project,
- and users to be able to download and install packages. Help
- us keep the system up and running smoothly. ")
- (p
- "You can also "
- (a (@ (href ,(guix-url "donate/")))
- "donate hardware or hosting")
- " for our "
- (a (@ (href "https://hydra.gnu.org")) "build farm") ". ")
+ ,(G_ `(h3 (@ (id "sysadmin")) "System Administration"))
+ ,(G_
+ `(p
+ "Our system infrastructure makes it possible for all the
+ contributors to communicate and collaborate in the project,
+ and users to be able to download and install packages. Help
+ us keep the system up and running smoothly. "))
+ ,(G_
+ `(p
+ "You can also "
+ ,(G_ `(a (@ (href ,(guix-url "donate/")))
+ "donate hardware or hosting"))
+ " for our "
+ ,(G_ `(a (@ (href "https://hydra.gnu.org")) "build farm")) ". "))
(p
,(link-more
- #:label "Contribute"
+ #:label (G_ "Contribute")
#:url "https://lists.gnu.org/mailman/listinfo/guix-devel")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "testing")) "Test and Bug Reports")
- (p
- "Install the software and send feedback to the community
- about your experience. Help the project by reporting bugs.")
- (p
- "Before reporting a bug, please check whether the bug is
- already "
- (a (@ (href "https://issues.guix.gnu.org"))
- "in the bug database")
- ". See "
- (a (@ (href "https://debbugs.gnu.org/Developer.html"))
- "the developer information page")
- " for more information on how to manipulate bug reports. ")
+ ,(G_ `(h3 (@ (id "testing")) "Test and Bug Reports"))
+ ,(G_
+ `(p
+ "Install the software and send feedback to the community
+ about your experience. Help the project by reporting bugs."))
+ ,(G_
+ `(p
+ "Before reporting a bug, please check whether the bug is
+ already "
+ ,(G_ `(a (@ (href "https://issues.guix.gnu.org"))
+ "in the bug database"))
+ ". See "
+ ,(G_ `(a (@ (href "https://debbugs.gnu.org/Developer.html"))
+ "the developer information page"))
+ " for more information on how to manipulate bug reports. "))
(p
,(link-more
- #:label "Report a bug"
+ #:label (G_ "Report a bug")
#:url "https://lists.gnu.org/mailman/listinfo/bug-guix")))
(div
(@ (class "summary-box"))
- (h3 (@ (id "translation")) "Translation")
- (p
- "You can help translate the "
- (a (@ (href "https://translationproject.org/domain/guix.html"))
- "software")
- ", the "
- (a (@ (href
"https://translationproject.org/domain/guix-packages.html"))
- "package descriptions")
- ", and the "
- (a (@ (href
"https://translationproject.org/domain/guix-manual.html"))
- "manual")
- " into your language. See the "
- (a (@ (href "https://translationproject.org/html/translators.html"))
- "Translation Project")
- " for information on how you can help.")
- (p
- (a (@ (href ,(guix-url "packages"))) "Software packages")
- " provided by the system may have their own translation
- tools. Visit their websites and help translate. ")
- (p
+ ,(G_ `(h3 (@ (id "translation")) "Translation"))
+ ,(G_
+ `(p
+ "You can help translate the "
+ ,(G_
+ `(a (@ (href "https://translationproject.org/domain/guix.html"))
+ "software"))
+ ", the "
+ ,(G_
+ `(a (@ (href
"https://translationproject.org/domain/guix-packages.html"))
+ "package descriptions"))
+ ", and the "
+ ,(G_
+ `(a (@ (href
"https://translationproject.org/domain/guix-manual.html"))
+ "manual"))
+ " into your language. See the "
+ ,(G_
+ `(a (@ (href
"https://translationproject.org/html/translators.html"))
+ "Translation Project"))
+ " for information on how you can help."))
+ ,(G_
+ `(p
+ ,(G_ `(a (@ (href ,(guix-url "packages"))) "Software packages"))
+ " provided by the system may have their own translation
+ tools. Visit their websites and help translate. "))
+ (p
,(link-more
- #:label "Start translating"
+ #:label (G_ "Start translating")
#:url "https://translationproject.org/"))))
- (h3 (@ (id "resources")) "Other resources for contributors")
- (p
- "Documents, supporting material of previous talks, and
- auxiliary information useful to hackers and maintainers is
- available at "
- (a (@ (href "//git.savannah.gnu.org/cgit/guix/maintenance.git"))
- "git://git.sv.gnu.org/guix/maintenance.git")
- ".")))))
+ ,(G_ `(h3 (@ (id "resources")) "Other resources for contributors"))
+ ,(G_
+ `(p
+ "Documents, supporting material of previous talks, and
+ auxiliary information useful to hackers and maintainers is
+ available at "
+ (a (@ (href "//git.savannah.gnu.org/cgit/guix/maintenance.git"))
+ "git://git.sv.gnu.org/guix/maintenance.git")
+ "."))))))
diff --git a/website/apps/base/templates/donate.scm
b/website/apps/base/templates/donate.scm
index 8babaec..301e801 100644
--- a/website/apps/base/templates/donate.scm
+++ b/website/apps/base/templates/donate.scm
@@ -7,206 +7,267 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (donate-t))
(define (donate-t)
"Return the Donate page in SHTML."
(theme
- #:title '("Donate")
+ #:title (C_ "webpage title" '("Donate"))
#:description
- "We are looking for donations of hardware and optionally hosting
- for machines (they should be usable with exclusively free
- software)."
+ (G_ "We are looking for donations of hardware and optionally
+ hosting for machines (they should be usable with exclusively
+ free software).")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Donations")
- #:active-menu-item "Donate"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Donations") #\|)
+ #:active-menu-item (C_ "website menu" "Donate")
#:css (list
(guix-url "static/base/css/page.css"))
- #:crumbs (list (crumb "Donate" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Donate") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "Donate")
+ ,(G_ `(h2 "Donate"))
- (p
- "The "
- (a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
- "build farm")
- " of the Guix System Distribution runs on donated hardware and"
- " hosting. As the distribution grows (see the "
- (a (@ (href ,(guix-url "packages/"))) "package list")
- "), so do the computing and storage needs.")
+ ,(G_
+ `(p
+ "The "
+ ,(G_
+ `(a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
+ "build farm"))
+ " of the Guix System Distribution runs on donated hardware and"
+ " hosting. As the distribution grows (see the "
+ ,(G_ `(a (@ (href ,(guix-url "packages/"))) "package list"))
+ "), so do the computing and storage needs."))
- (p
- "We have "
- (a (@ (href "https://savannah.gnu.org/forum/forum.php?forum_id=8423"))
- "started a fundraising campaign")
- " to strengthen our build farm, with "
- (a (@ (href
"https://www.fsf.org/blogs/community/fsf-announces-support-for-gnu-guix"))
- "support from the Free Software Foundation (FSF)")
- ". Please consider helping out by making a donation on this
- FSF-hosted page:")
+ ,(G_
+ `(p
+ "We have "
+ ,(G_
+ `(a (@ (href
"https://savannah.gnu.org/forum/forum.php?forum_id=8423"))
+ "started a fundraising campaign"))
+ " to strengthen our build farm, with "
+ ,(G_
+ `(a (@ (href
"https://www.fsf.org/blogs/community/fsf-announces-support-for-gnu-guix"))
+ "support from the Free Software Foundation (FSF)"))
+ ". Please consider helping out by making a donation on this
+ FSF-hosted page:"))
(p
(@ (class "centered-text"))
,(button-big
- #:label "â„ DONATE!"
+ #:label (C_ "button" "â„ DONATE!")
#:url "https://my.fsf.org/civicrm/contribute/transact?reset=1&id=50"))
- (h3
- (@ (id "hardware-and-hosting"))
- "Hardware and Hosting")
+ ,(G_
+ `(h3
+ (@ (id "hardware-and-hosting"))
+ "Hardware and Hosting"))
- (p
- "We are also looking for donations of hardware and optionally
- hosting for the following kinds of machines (they should be
- usable with exclusively free software): ")
+ ,(G_
+ `(p
+ "We are also looking for donations of hardware and optionally
+ hosting for the following kinds of machines (they should be
+ usable with exclusively free software): "))
(ul
- (li "x86_64 machines, with on the order of 1\xa0TiB of storage
- and 4\xa0GiB of RAM;")
- (li "armv7 machines (such as the Novena) to more quickly test
- and provide binaries for the armhf-linux port;")
- (li "mips64el machines to strengthen this port."))
+ ,(G_
+ `(li "x86_64 machines, with on the order of 1\xa0TiB of storage
+ and 4\xa0GiB of RAM;"))
+ ,(G_
+ `(li "armv7 machines (such as the Novena) to more quickly test
+ and provide binaries for the armhf-linux port;"))
+ ,(G_
+ `(li "mips64el machines to strengthen this port.")))
- (p
- "Please get in touch with us through the "
- (a (@ (href ,(guix-url "contact/"))) "usual channels")
- " or using the " (b "address@hidden") " private alias to
- discuss any opportunities. ")
+ ,(G_
+ `(p
+ "Please get in touch with us through the "
+ ,(G_ `(a (@ (href ,(guix-url "contact/"))) "usual channels"))
+ " or using the " (b "address@hidden") " private alias to
+ discuss any opportunities. "))
- (h3
- (@ (id "hardware-donors"))
- "Thanks to the donors!")
+ ,(G_
+ `(h3
+ (@ (id "hardware-donors"))
+ "Thanks to the donors!"))
- (p
- "The table below summarizes hardware and hosting donations that
- make the " (a (@ (href "https://hydra.gnu.org")) "build farm")
- " for the Guix System Distribution a reality.")
+ ,(G_
+ `(p
+ "The table below summarizes hardware and hosting donations that
+ make the " ,(G_ `(a (@ (href "https://hydra.gnu.org")) "build
farm"))
+ " for the Guix System Distribution a reality."))
(div
(@ (class "table-box"))
(table
(thead
- (tr (th "machine")
- (th "system")
- (th "donors")))
+ ,(G_ `(tr ,(G_ `(th "machine"))
+ ,(G_ `(th "system"))
+ ,(G_ `(th "donors")))))
(tbody
- (tr
- (td "hydra.gnu.org")
- (td "build farm front-end")
- (td
- (ul
- (li
- (a (@ (href "https://www.fsf.org/"))
- "Free Software Foundation")))))
- (tr
- (td "berlin.guixsd.org")
- (td "build farm with 25 build nodes for x86_64-linux and
-i686-linux, and dedicated storage")
- (td
- (ul
- (li
- (a (@ (href "https://www.mdc-berlin.de/"))
- "Max DelbrĂŒck Center for Molecular Medicine")
- " (hardware and hosting)"))))
- (tr
- (td "overdrive1.guixsd.org")
- (td "aarch64-linux")
- (td
- (ul
- (li (a (@ (href "https://www.arm.com/"))
- "ARM Holdings") " (hardware)"))))
- (tr
- (td "bayfront.guixsd.org")
- (td "new build farm front-end (WIP)")
- (td
- (ul
- (li
- (a (@ (href ,(guix-url "news/growing-our-build-farm.html")))
- "Igalia")))))
- (tr
- (td "hydra.gnunet.org")
- (td "x86_64-linux, i686-linux")
- (td (ul (li (a (@ (href "https://gnunet.org/fsnsg"))
- "Free Secure Network Systems Group")
- " at the "
- (a (@ (href "https://www.tum.de/"))
- "Technische UniversitĂ€t MĂŒnchen")))))
- (tr
- (td "chapters.gnu.org")
- (td "x86_64-linux, i686-linux")
- (td
- (ul
- (li (a (@ (href "https://es.gnu.org"))
- "GNU\xa0España") " (hardware)")
- (li (a (@ (href "https://fsffrance.org/index.en.html"))
- "FSF\xa0France")
- " (hosting)"))))
- (tr
- (td "librenote")
- (td "mips64el-linux")
- (td (ul (li "Daniel Clark (hardware)")
- (li "Mark H Weaver (hosting)"))))
- (tr
- (td "hydra-slave0")
- (td "mips64el-linux")
- (td
- (ul
- (li (a (@ (href "https://www.fsf.org/"))
- "Free Software Foundation")))))
- (tr
- (td "guix.sjd.se")
- (td "x86_64-linux, i686-linux")
- (td
- (ul
- (li (a (@ (href "http://josefsson.org"))
- "Simon Josefsson")))))
- (tr
- (td "x15.sjd.se")
- (td "armhf-linux")
- (td
- (ul
- (li (a (@ (href "http://josefsson.org"))
- "Simon Josefsson")))))
- (tr
- (td "hydra-slave1")
- (td "armhf-linux")
- (td
- (ul
- (li "Steve Sprang (hardware)")
- ;; XXX: Eventually move to the FSF?
- (li "Mark H Weaver (hosting)"))))
- (tr
- (td "hydra-slave2")
- (td "armhf-linux")
- (td
- (ul
- (li (a (@ (href "http://harmoninstruments.com/"))
- "Harmon Instruments")
- " (hardware)")
- ;; XXX: Eventually move to the FSF?
- (li "Mark H Weaver (hosting)"))))
- (tr
- (td "hydra-slave3")
- (td "armhf-linux")
- (td
- (ul
- (li (a (@ (href
"http://www.kosagi.com/w/index.php?title=Novena_Main_Page"))
- "Kosagi (Sutajio Ko-Usagi Pte Ltd)")
- " (hardware)")
- (li "Mark H Weaver (hosting)"))))
- (tr
- (td "redhill")
- (td "armhf-linux")
- (td
- (ul
- (li (a (@ (href
"http://www.kosagi.com/w/index.php?title=Novena_Main_Page"))
- "Kosagi (Sutajio Ko-Usagi Pte Ltd)")
- " (hardware)")
- (li "Andreas Enge (hosting)")))))))))))
+ ,(G_ `(tr
+ ,(G_ `(td "hydra.gnu.org"))
+ ,(G_ `(td "build farm front-end"))
+ ,(G_ ((lambda (content)
+ `(td
+ (ul
+ (li
+ (a (@ (href "https://www.fsf.org/"))
+ ,content)))))
+ "Free Software Foundation"))))
+ ,(G_ `(tr
+ ,(G_ `(td "berlin.guixsd.org"))
+ ,(G_ `(td "build farm with 25 build nodes for x86_64-linux and
+i686-linux, and dedicated storage"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ (li
+ ,@content))))
+ (G_ `(a (@ (href "https://www.mdc-berlin.de/"))
+ "Max DelbrĂŒck Center for Molecular Medicine"))
+ " (hardware and hosting)"))))
+ ,(G_ `(tr
+ ,(G_ `(td "overdrive1.guixsd.org"))
+ ,(G_ `(td "aarch64-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ (li
+ ,@content))))
+ (G_ `(a (@ (href "https://www.arm.com/"))
+ "ARM Holdings") " (hardware)")))))
+ ,(G_
+ `(tr
+ ,(G_ `(td "bayfront.guixsd.org"))
+ ,(G_ `(td "new build farm front-end (WIP)"))
+ ,(G_ ((lambda (content)
+ `(td
+ (ul
+ (li
+ (a
+ (@ (href ,(guix-url
"news/growing-our-build-farm.html")))
+ ,content)))))
+ "Igalia"))))
+ ,(G_ `(tr
+ ,(G_ `(td "hydra.gnunet.org"))
+ ,(G_ `(td "x86_64-linux, i686-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ (li
+ ,@content))))
+ (G_ `(a (@ (href "https://gnunet.org/fsnsg"))
+ "Free Secure Network Systems Group"))
+ " at the "
+ (G_ `(a (@ (href "https://www.tum.de/"))
+ "Technische UniversitĂ€t MĂŒnchen"))))))
+ ,(G_ `(tr
+ ,(G_ `(td "chapters.gnu.org"))
+ ,(G_ `(td "x86_64-linux, i686-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li
+ ,(G_ `(a (@ (href "https://es.gnu.org"))
+ "GNU\xa0España"))
+ " (hardware)"))
+ (G_ `(li
+ ,(G_ `(a (@ (href
"https://fsffrance.org/index.en.html"))
+ "FSF\xa0France"))
+ " (hosting)"))))))
+ ,(G_ `(tr
+ ,(G_ `(td "librenote"))
+ ,(G_ `(td "mips64el-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li "Daniel Clark (hardware)"))
+ (G_ `(li "Mark H Weaver (hosting)"))))))
+ ,(G_ `(tr
+ ,(G_ `(td "hydra-slave0"))
+ ,(G_ `(td "mips64el-linux"))
+ ,(G_ ((lambda (content)
+ `(td
+ (ul
+ (li
+ (a (@ (href "https://www.fsf.org/"))
+ ,content)))))
+ "Free Software Foundation"))))
+ ,(G_ `(tr
+ ,(G_ `(td "guix.sjd.se"))
+ ,(G_ `(td "x86_64-linux, i686-linux"))
+ ,(G_ ((lambda (content)
+ `(td
+ (ul
+ (li
+ (a (@ (href "http://josefsson.org"))
+ ,content)))))
+ "Simon Josefsson"))))
+ ,(G_ `(tr
+ ,(G_ `(td "x15.sjd.se"))
+ ,(G_ `(td "armhf-linux"))
+ ,(G_ ((lambda (content)
+ `(td
+ (ul
+ (li
+ (a (@ (href "http://josefsson.org"))
+ ,content)))))
+ "Simon Josefsson"))))
+ ,(G_ `(tr
+ ,(G_ `(td "hydra-slave1"))
+ ,(G_ `(td "armhf-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li "Steve Sprang (hardware)"))
+ ;; XXX: Eventually move to the FSF?
+ (G_ `(li "Mark H Weaver (hosting)"))))))
+ ,(G_ `(tr
+ ,(G_ `(td "hydra-slave2"))
+ ,(G_ `(td "armhf-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li
+ ,(G_ `(a (@ (href "http://harmoninstruments.com/"))
+ "Harmon Instruments"))
+ " (hardware)"))
+ ;; XXX: Eventually move to the FSF?
+ (G_ `(li "Mark H Weaver (hosting)"))))))
+ ,(G_
+ `(tr
+ ,(G_ `(td "hydra-slave3"))
+ ,(G_ `(td "armhf-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li
+ ,(G_ `(a (@ (href
"http://www.kosagi.com/w/index.php?title=Novena_Main_Page"))
+ "Kosagi (Sutajio Ko-Usagi Pte Ltd)"))
+ " (hardware)"))
+ (G_ `(li "Mark H Weaver (hosting)"))))))
+ ,(G_
+ `(tr
+ ,(G_ `(td "redhill"))
+ ,(G_ `(td "armhf-linux"))
+ ,(G_ ((lambda content
+ `(td
+ (ul
+ ,@content)))
+ (G_ `(li
+ ,(G_ `(a (@ (href
"http://www.kosagi.com/w/index.php?title=Novena_Main_Page"))
+ "Kosagi (Sutajio Ko-Usagi Pte Ltd)"))
+ " (hardware)"))
+ (G_ `(li "Andreas Enge (hosting)")))))))))))))
diff --git a/website/apps/base/templates/graphics.scm
b/website/apps/base/templates/graphics.scm
index 80b6532..6c1d70f 100644
--- a/website/apps/base/templates/graphics.scm
+++ b/website/apps/base/templates/graphics.scm
@@ -6,66 +6,73 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (graphics-t))
(define (graphics-t)
"Return the Graphics page in SHTML."
(theme
- #:title '("Graphics")
+ #:title (C_ "webpage title" '("Graphics"))
#:description
- "Information about images used for the graphical identity of
- GNUÂ Guix and Guix System (formerly âGuixSDâ)."
+ (G_ "Information about images used for the graphical identity
+ of GNUÂ Guix and Guix System (formerly âGuixSDâ).")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Branding" "Logo")
- #:active-menu-item "About"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Donations|Branding|Logo") #\|)
+ #:active-menu-item (C_ "website menu" "About")
#:css (list
(guix-url "static/base/css/page.css"))
- #:crumbs (list (crumb "Graphics" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Graphics") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "Graphics")
+ ,(G_ `(h2 "Graphics"))
- (p
- "For questions regarding the graphics listed in this page,
- please contact "
- (a (@ (href "https://lists.gnu.org/mailman/listinfo/help-guix"))
- ("address@hidden"))
- ".")
+ ,(G_
+ `(p
+ "For questions regarding the graphics listed in this page,
+ please contact "
+ ,(G_ `(a (@ (href
"https://lists.gnu.org/mailman/listinfo/help-guix"))
+ "address@hidden"))
+ "."))
(p
(@ (class "centered-text"))
(img (@ (src ,(guix-url "static/base/img/Guix.png"))
- (alt "GNU Guix logotype"))))
- (p
- "The standalone Guix, formerly known as the âGuix System
- Distributionâ or GuixSD, had its own logo, which is now
- deprecated.")
+ ,(G_ `(alt "GNU Guix logotype")))))
+ ,(G_
+ `(p
+ "The standalone Guix, formerly known as the âGuix System
+ Distributionâ or GuixSD, had its own logo, which is now
+ deprecated."))
- (p
- "The GNU Guix and GuixSD
- logotypes were designed by Luis Felipe LĂłpez Acevedo
- (a.k.a. sirgazil). They are available under the following
- terms:")
+ ,(G_
+ `(p
+ "The GNU Guix and GuixSD
+ logotypes were designed by Luis Felipe LĂłpez Acevedo
+ (a.k.a. sirgazil). They are available under the following
+ terms:"))
(blockquote
(p "Copyright © 2015 Luis Felipe López Acevedo")
(p
- "Permission is granted to copy, distribute and/or modify this
+ "Permission is granted to copy, distribute and/or modify this
work under the terms of the "
- (a (@ (href "https://creativecommons.org/licenses/by-sa/4.0/"))
- "Creative Commons Attribution-ShareAlike 4.0 International License")
- "."))
- (p
- "The source files (SVG) for these logotypes, their variants, and
- other artwork used in the different components of the GNU Guix
- project are available in the "
- (a (@ (href
"//git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/logo"))
- "guix-artwork")
- " repository, including the previous GNU Guix logotype designed
- by Nikita Karetnikov in 2013 and "
- (a (@ (href "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25205"))
- "superseded")
- " by the golden GNU in 2016.")))))
+ `(a (@ (href "https://creativecommons.org/licenses/by-sa/4.0/"))
+ "Creative Commons Attribution-ShareAlike 4.0 International
License")
+ "."))
+ ,(G_
+ `(p
+ "The source files (SVG) for these logotypes, their variants, and
+ other artwork used in the different components of the GNU Guix
+ project are available in the "
+ ,(G_
+ `(a (@ (href
"//git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/logo"))
+ "guix-artwork"))
+ " repository, including the previous GNU Guix logotype designed
+ by Nikita Karetnikov in 2013 and "
+ ,(G_
+ `(a (@ (href
"https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25205"))
+ "superseded"))
+ " by the golden GNU in 2016."))))))
diff --git a/website/apps/base/templates/help.scm
b/website/apps/base/templates/help.scm
index 8117957..c9d6ab2 100644
--- a/website/apps/base/templates/help.scm
+++ b/website/apps/base/templates/help.scm
@@ -7,31 +7,32 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (help-t))
(define (help-t)
"Return the Help page in SHTML."
(theme
- #:title '("Help")
+ #:title (C_ "webpage title" '("Help"))
#:description
- "A list of resources about how to use GNU Guix, plus
+ (G_ "A list of resources about how to use GNU Guix, plus
information about getting help from the community of users and
- developers."
+ developers.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Help resources")
- #:active-menu-item "Help"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
+ #:active-menu-item (C_ "website menu" "Help")
#:css (list
(guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css"))
- #:crumbs (list (crumb "Help" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Help") "./"))
#:content
`(main
(section
(@ (class "page"))
- (h2 "Help")
+ ,(G_ `(h2 "Help"))
(div
(@ (class "centered-text"))
@@ -42,24 +43,25 @@
(img
(@ (src ,(guix-url "static/base/img/manual-icon.png"))
(alt "")))
- (h3 "GNU Guix Manual")
- (p
- "Documentation for GNU Guix is available
- online. You may also find more information about Guix by running "
- (code "info guix") ".")
- (p
- ,(link-more #:label "Read Guix manual"
- #:url (guix-url "manual/en")))
+ ,(G_ `(h3 "GNU Guix Manual"))
+ ,(G_
+ `(p
+ "Documentation for GNU Guix is available
+ online. You may also find more information about Guix by running "
+ ,(G_ `(code "info guix")) "."))
(p
- (a (@ (href ,(guix-url "manual/de"))) "Deutsch") " | "
- (a (@ (href ,(guix-url "manual/en"))) "English") " | "
- (a (@ (href ,(guix-url "manual/es"))) "español") " | "
- (a (@ (href ,(guix-url "manual/fr"))) "français") " | "
- (a (@ (href ,(guix-url "manual/ru"))) "ŃŃŃŃĐșĐžĐč") " | "
- (a (@ (href ,(guix-url "manual/zh-cn"))) "çźäœäžæ"))
+ ,(link-more #:label (G_ "Read Guix manual")
+ #:url (guix-url "manual/en" #:localize #f)))
+ (p
+ (a (@ (href ,(guix-url "manual/de" #:localize #f))) "Deutsch") " | "
+ (a (@ (href ,(guix-url "manual/en" #:localize #f))) "English") " | "
+ (a (@ (href ,(guix-url "manual/es" #:localize #f))) "español") " | "
+ (a (@ (href ,(guix-url "manual/fr" #:localize #f))) "français") " | "
+ (a (@ (href ,(guix-url "manual/ru" #:localize #f))) "ŃŃŃŃĐșĐžĐč") " | "
+ (a (@ (href ,(guix-url "manual/zh-cn" #:localize #f))) "çźäœäžæ"))
,(link-more
- #:label "Get Guix reference card"
+ #:label (G_ "Get Guix reference card")
#:url (guix-url "guix-refcard.pdf")))
@@ -67,15 +69,16 @@
(@ (class "summary-box"))
(img (@ (src ,(guix-url "static/base/img/library-icon.png"))
(alt "")))
- (h3 "GNU Manuals")
- (p
- "Guix is a distribution of the "
- (a (@ (href ,(gnu-url))) "GNU operating system")
- ". Documentation for GNU packages is
- available online in various formats. ")
+ ,(G_ `(h3 "GNU Manuals"))
+ ,(G_
+ `(p
+ "Guix is a distribution of the "
+ ,(G_ `(a (@ (href ,(gnu-url))) "GNU operating system"))
+ ". Documentation for GNU packages is
+ available online in various formats. "))
(p
,(link-more
- #:label "Browse GNU manuals"
+ #:label (G_ "Browse GNU manuals")
#:url (gnu-url "manual"))))
@@ -83,18 +86,20 @@
(@ (class "summary-box"))
(img (@ (src ,(guix-url "static/base/img/chat-icon.png"))
(alt "")))
- (h3 "IRC Chat")
- (p
- "For real-time support from the community, you can connect
- to the " (code "#guix") " channel on irc.freenode.net. There
- you can get help about anything related to GNUÂ Guix.")
- (p
- "The " (code "#guix") " channel is logged. Previous
- conversations can be browsed online. See the "
- (a (@ (href ,guix-irc-log-url)) "channel logs") ". ")
+ ,(G_ `(h3 "IRC Chat"))
+ ,(G_
+ `(p
+ "For real-time support from the community, you can connect
+ to the " (code "#guix") " channel on irc.freenode.net. There
+ you can get help about anything related to GNUÂ Guix."))
+ ,(G_
+ `(p
+ "The " (code "#guix") " channel is logged. Previous
+ conversations can be browsed online. See the "
+ ,(G_ `(a (@ (href ,guix-irc-log-url)) "channel logs")) ". "))
(p
,(link-more
- #:label "Connect"
+ #:label (G_ "Connect")
#:url (guix-url "contact/irc/"))))
@@ -102,13 +107,14 @@
(@ (class "summary-box"))
(img (@ (src ,(guix-url "static/base/img/email-icon.png"))
(alt "")))
- (h3 "Mailing lists")
- (p
- "Email support from the community is also available through
- several mailing list. The messages sent to the lists are
- public and archived online.")
+ ,(G_ `(h3 "Mailing lists"))
+ ,(G_
+ `(p
+ "Email support from the community is also available through
+ several mailing list. The messages sent to the lists are
+ public and archived online."))
(p
,(link-more
- #:label "See all lists"
+ #:label (G_ "See all lists")
#:url (guix-url "contact/")))))))))
diff --git a/website/apps/base/templates/home.scm
b/website/apps/base/templates/home.scm
index 5cb3bf5..f0f889e 100644
--- a/website/apps/base/templates/home.scm
+++ b/website/apps/base/templates/home.scm
@@ -8,24 +8,27 @@
#:use-module (apps base types)
#:use-module (apps base utils)
#:use-module (apps blog templates components)
+ #:use-module (apps i18n)
#:export (home-t))
(define (home-t context)
"Return the Home page in SHTML using the data in CONTEXT."
(theme
- #:title '("GNU's advanced distro and transactional package manager")
+ #:title (C_ "webpage title"
+ '("GNU's advanced distro and transactional package manager"))
#:description
- "Guix is an advanced distribution of the GNU operating system.
+ (G_ "Guix is an advanced distribution of the GNU operating system.
Guix is technology that respects the freedom of computer users.
- You are free to run the system for any purpose, study how it works,
- improve it, and share it with the whole world."
+ You are free to run the system for any purpose, study how it
+ works, improve it, and share it with the whole world.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Overview"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Overview")
#:css (list
(guix-url "static/base/css/item-preview.css")
(guix-url "static/base/css/index.css"))
@@ -34,83 +37,94 @@
;; Featured content.
(section
(@ (class "featured-content"))
- (h2 (@ (class "a11y-offset")) "Summary")
+ ,(G_ `(h2 (@ (class "a11y-offset")) "Summary"))
(ul
- (li
- (b "Liberating.")
- " Guix is an advanced
- distribution of the "
- ,(link-yellow
- #:label "GNU operating system"
- #:url (gnu-url "gnu/about-gnu.html"))
- " developed by the "
- ,(link-yellow
- #:label "GNU Project"
- #:url (gnu-url))
- "âwhich respects the "
- ,(link-yellow
- #:label "freedom of computer users"
- #:url (gnu-url "distros/free-system-distribution-guidelines.html"))
- ". ")
-
- (li
- (b "Dependable.")
- " Guix "
- ,(link-yellow
- #:label "supports"
- #:url (manual-url "Package-Management.html"))
- " transactional upgrades and roll-backs, unprivileged
- package management, "
- ,(link-yellow
- #:label "and more"
- #:url (manual-url "Features.html"))
- ". When used as a standalone distribution, Guix supports "
- ,(link-yellow
- #:label "declarative system configuration"
- #:url (manual-url "Using-the-Configuration-System.html"))
- " for transparent and reproducible operating systems.")
-
- (li
- (b "Hackable.")
- " It provides "
- ,(link-yellow
- #:label "Guile Scheme"
- #:url (gnu-url "software/guile/"))
- " APIs, including high-level embedded domain-specific
- languages (EDSLs) to "
- ,(link-yellow
- #:label "define packages"
- #:url (manual-url "Defining-Packages.html"))
- " and "
- ,(link-yellow
- #:label "whole-system configurations"
- #:url (manual-url "System-Configuration.html"))
- "."))
+ ,(G_
+ `(li
+ ,(G_ `(b "Liberating."))
+ " Guix is an advanced distribution of the "
+ ,(G_ (link-yellow
+ #:label "GNU operating system"
+ #:url (gnu-url "gnu/about-gnu.html")))
+ " developed by the "
+ ,(G_ (link-yellow
+ #:label "GNU Project"
+ #:url (gnu-url)))
+ "âwhich respects the "
+ ,(G_ (link-yellow
+ #:label "freedom of computer users"
+ #:url (gnu-url "distros/free-system-distribution-\
+guidelines.html")))
+ ". "))
+
+ ;; TRANSLATORS: Package Management, Features and Using the
+ ;; Configuration System are section names in the English (en)
+ ;; manual.
+ ,(G_
+ `(li
+ ,(G_ `(b "Dependable."))
+ " Guix "
+ ,(G_ (manual-link-yellow "supports"
+ (G_ "en")
+ (G_ "Package-Management.html")))
+ " transactional upgrades and roll-backs, unprivileged \
+package management, "
+ ,(G_ (manual-link-yellow "and more"
+ (G_ "en")
+ (G_ "Features.html")))
+ ". When used as a standalone distribution, Guix supports "
+ ,(G_ (manual-link-yellow "declarative system configuration"
+ (G_ "en")
+ (G_
"Using-the-Configuration-System.html")))
+ " for transparent and reproducible operating systems."))
+
+ ;; TRANSLATORS: Defining Packages and System Configuration are
+ ;; section names in the English (en) manual.
+ ,(G_
+ `(li
+ ,(G_ `(b "Hackable."))
+ " It provides "
+ ,(G_ (link-yellow
+ #:label "Guile Scheme"
+ #:url (gnu-url "software/guile/")))
+ " APIs, including high-level embedded domain-specific \
+languages (EDSLs) to "
+ ,(G_ (manual-link-yellow "define packages"
+ (G_ "en")
+ (G_ "Defining-Packages.html")))
+ " and "
+ ,(G_ (manual-link-yellow "whole-system configurations"
+ (G_ "en")
+ (G_ "System-Configuration.html")))
+ ".")))
(div
(@ (class "action-box centered-text"))
,(button-big
- #:label (string-append "DOWNLOAD v" (latest-guix-version))
+ #:label (apply string-append
+ (C_ "button" `("DOWNLOAD v" ,(latest-guix-version)
"")))
#:url (guix-url "download/")
#:light #true)
" " ; A space for readability in non-CSS browsers.
,(button-big
- #:label "CONTRIBUTE"
+ #:label (C_ "button" "CONTRIBUTE")
#:url (guix-url "contribute/")
#:light #true)))
;; Discover Guix.
(section
(@ (class "discovery-box"))
- (h2 "Discover Guix")
-
- (p
- (@ (class "limit-width centered-block"))
- "Guix comes with thousands of packages which include
- applications, system tools, documentation, fonts, and other
- digital goods readily available for installing with the "
- ,(link-yellow #:label "GNU Guix" #:url "#guix-in-other-distros")
- " package manager.")
+ ,(G_ `(h2 "Discover Guix"))
+
+ ,(G_
+ `(p
+ (@ (class "limit-width centered-block"))
+ "Guix comes with thousands of packages which include \
+applications, system tools, documentation, fonts, and other digital \
+goods readily available for installing with the "
+ ,(G_ (link-yellow #:label "GNU Guix"
+ #:url (identity "#guix-in-other-distros")))
+ " package manager."))
(div
(@ (class "screenshots-box"))
@@ -119,55 +133,57 @@
(div
(@ (class "action-box centered-text"))
,(button-big
- #:label "ALL PACKAGES"
+ #:label (C_ "button" "ALL PACKAGES")
#:url (guix-url "packages/")
#:light #true))
,(horizontal-separator #:light #true)
;; Guix in different fields.
- (h3 "GNU Guix in your field")
+ ,(G_ `(h3 "GNU Guix in your field"))
- (p
- (@ (class "limit-width centered-block"))
- "Read some stories about how people are using GNUÂ Guix in their daily
- lives.")
+ ,(G_
+ `(p
+ (@ (class "limit-width centered-block"))
+ "Read some stories about how people are using GNUÂ Guix in
+their daily lives."))
(div
(@ (class "fields-box"))
" " ; A space for readability in non-CSS browsers (same below).
,(button-big
- #:label "SOFTWARE DEVELOPMENT"
- #:url (guix-url "blog/tags/software-development/")
- #:light #true)
+ #:label (C_ "button" "SOFTWARE DEVELOPMENT")
+ #:url (guix-url "blog/tags/software-development/")
+ #:light #true)
" "
,(button-big
- #:label "BIOINFORMATICS"
- #:url (guix-url "blog/tags/bioinformatics/")
- #:light #true)
+ #:label (C_ "button" "BIOINFORMATICS")
+ #:url (guix-url "blog/tags/bioinformatics/")
+ #:light #true)
" "
,(button-big
- #:label "HIGH PERFORMANCE COMPUTING"
- #:url (guix-url "blog/tags/high-performance-computing/")
- #:light #true)
+ #:label (C_ "button" "HIGH PERFORMANCE COMPUTING")
+ #:url (guix-url "blog/tags/high-performance-computing/")
+ #:light #true)
" "
,(button-big
- #:label "RESEARCH"
- #:url (guix-url "blog/tags/research/")
- #:light #true)
+ #:label (C_ "button" "RESEARCH")
+ #:url (guix-url "blog/tags/research/")
+ #:light #true)
" "
,(button-big
- #:label "ALL FIELDS..."
- #:url (guix-url "blog/")
- #:light #true))
+ #:label (C_ "button" "ALL FIELDS...")
+ #:url (guix-url "blog/")
+ #:light #true))
,(horizontal-separator #:light #true)
;; Using Guix in other distros.
- (h3
- (@ (id "guix-in-other-distros"))
- "GNU Guix in other GNU/Linux distros")
+ ,(G_
+ `(h3
+ (@ (id "guix-in-other-distros"))
+ "GNU Guix in other GNU/Linux distros"))
(div
(@ (class "info-box"))
@@ -176,54 +192,55 @@
(src
"https://audio-video.gnu.org/video/misc/2016-07__GNU_Guix_Demo_2.webm")
(poster ,(guix-url "static/media/img/guix-demo.png"))
(controls "controls"))
- (p
- "Video: "
- ,(link-yellow
- #:label "Demo of Guix in another GNU/Linux distribution"
- #:url
"https://audio-video.gnu.org/video/misc/2016-07__GNU_Guix_Demo_2.webm")
- " (1 minute, 30 seconds).")))
+ ,(G_
+ `(p
+ "Video: "
+ ,(G_ (link-yellow
+ #:label "Demo of Guix in another GNU/Linux distribution"
+ #:url "https://audio-video.gnu.org/video/misc/\
+2016-07__GNU_Guix_Demo_2.webm"))
+ " (1 minute, 30 seconds)."))))
(div
(@ (class "info-box justify-left"))
- (p
- "If you don't use GNUÂ Guix as a standalone GNU/Linux distribution,
- you still can use it as a
- package manager on top of any GNU/Linux distribution. This
- way, you can benefit from all its conveniences.")
+ ,(G_ `(p
+ "If you don't use GNUÂ Guix as a standalone GNU/Linux \
+distribution, you still can use it as a package manager on top of any \
+GNU/Linux distribution. This way, you can benefit from all its conveniences."))
- (p
- "Guix won't interfere with the package manager that comes
- with your distribution. They can live together."))
+ ,(G_ `(p
+ "Guix won't interfere with the package manager that comes \
+with your distribution. They can live together.")))
(div
(@ (class "action-box centered-text"))
,(button-big
- #:label "TRY IT OUT!"
+ #:label (C_ "button" "TRY IT OUT!")
#:url (guix-url "download/")
#:light #true)))
;; Latest Blog posts.
(section
(@ (class "centered-text"))
- (h2 "Blog")
+ ,(G_ `(h2 "Blog"))
,@(map post-preview (context-datum context "posts"))
(div
(@ (class "action-box centered-text"))
,(button-big
- #:label "ALL POSTS"
+ #:label (C_ "button" "ALL POSTS")
#:url (guix-url "blog/"))))
;; Contact info.
(section
(@ (class "contact-box centered-text"))
- (h2 "Contact")
+ ,(G_ `(h2 "Contact"))
,@(map contact-preview (context-datum context "contact-media"))
(div
(@ (class "action-box centered-text"))
,(button-big
- #:label "ALL CONTACT MEDIA"
+ #:label (C_ "button" "ALL CONTACT MEDIA")
#:url (guix-url "contact/")))))))
diff --git a/website/apps/base/templates/irc.scm
b/website/apps/base/templates/irc.scm
index c21f77e..5674d1f 100644
--- a/website/apps/base/templates/irc.scm
+++ b/website/apps/base/templates/irc.scm
@@ -6,45 +6,49 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (irc-t))
(define (irc-t)
"Return the Kiwi IRC widget page in SHTML."
(theme
- #:title '("IRC" "Contact")
+ #:title
+ (list (C_ "webpage title" "IRC")
+ (C_ "webpage title" "Contact"))
#:description
- "Internet relay chat."
+ (G_ "Internet relay chat.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "IRC" "chat")
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|IRC|chat") #\|)
#:active-menu-item "About"
#:css (list
(guix-url "static/base/css/page.css")
(guix-url "static/base/css/irc.css"))
- #:crumbs (list (crumb "Contact" (guix-url "contact/"))
- (crumb "IRC" "./"))
+ #:crumbs (list (crumb (C_ "webpage title" "Contact") (guix-url "contact/"))
+ (crumb (C_ "webpage title" "IRC") "./"))
#:content
`(main
(section
(@ (class "page"))
- (h2 "IRC")
+ ,(G_ `(h2 "IRC"))
- (p
- (@ (class "centered-block limit-width"))
- "Join the " (code "#guix") " channel on the "
- (a (@ (href "https://en.wikipedia.org/wiki/Freenode"))
- "Freenode IRC network")
- " to chat with the GNUÂ Guix community or to get help
- in real-time. You can use the chat widget below, or just use
- the "
- (a (@ (href
"https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients"))
- "IRC client")
- " of your preference. Note that the conversations that happen
- on the " (code "#guix") " channel are logged ("
- (a (@ (href ,guix-irc-log-url)) "browse the log")
- ").")
+ ,(G_
+ `(p
+ (@ (class "centered-block limit-width"))
+ "Join the " (code "#guix") " channel on the "
+ ,(G_ `(a (@ (href "https://en.wikipedia.org/wiki/Freenode"))
+ "Freenode IRC network"))
+ " to chat with the GNUÂ Guix community or to get help
+ in real-time. You can use the chat widget below, or just use
+ the "
+ ,(G_ `(a (@ (href
"https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients"))
+ "IRC client"))
+ " of your preference. Note that the conversations that happen
+ on the " (code "#guix") " channel are logged ("
+ ,(G_ `(a (@ (href ,guix-irc-log-url)) "browse the log"))
+ ")."))
(iframe
(@ (class "chat-widget centered-block")
diff --git a/website/apps/base/templates/menu.scm
b/website/apps/base/templates/menu.scm
index b87387f..ce6b54e 100644
--- a/website/apps/base/templates/menu.scm
+++ b/website/apps/base/templates/menu.scm
@@ -6,17 +6,20 @@
#:use-module (apps base templates components)
#:use-module (apps base templates theme)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (menu-t))
(define (menu-t)
"Return the Menu page in SHTML."
(theme
- #:title '("Menu")
- #:description "Website menu."
- #:keywords '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Menu"
+ #:title (C_ "webpage title" '("Menu"))
+ #:description (G_ "Website menu.")
+ #:keywords
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Menu")
#:css (list (guix-url "static/base/css/menu.css"))))
diff --git a/website/apps/base/templates/screenshot.scm
b/website/apps/base/templates/screenshot.scm
index 41a3a07..60662fa 100644
--- a/website/apps/base/templates/screenshot.scm
+++ b/website/apps/base/templates/screenshot.scm
@@ -7,6 +7,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (screenshot-t))
@@ -15,14 +16,15 @@
(let ((shot (context-datum context "screenshot"))
(shots (context-datum context "screenshots")))
(theme
- #:title (list (screenshot-title shot) "Screenshots")
+ #:title (list (screenshot-title shot) (C_ "webpage title" "Screenshots"))
#:description (screenshot-caption shot)
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Overview"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Overview")
#:css (list (guix-url "static/base/css/index.css")
(guix-url "static/base/css/screenshots.css"))
#:content
diff --git a/website/apps/base/templates/security.scm
b/website/apps/base/templates/security.scm
index b772912..d28b548 100644
--- a/website/apps/base/templates/security.scm
+++ b/website/apps/base/templates/security.scm
@@ -3,9 +3,11 @@
;;; copyright interest on this file.
(define-module (apps base templates security)
+ #:use-module (apps base templates components)
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (security-t))
(define ludovics-key
@@ -14,36 +16,38 @@
(define (security-t)
"Return the Security page in SHTML."
(theme
- #:title '("Security")
+ #:title (C_ "webpage title" '("Security"))
#:description
- "Important information about getting security updates for your
- GNUÂ Guix installation, and instructions on how to report
- security issues."
+ (G_ "Important information about getting security updates
+ for your GNUÂ Guix installation, and instructions on how
+ to report security issues.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Security updates")
- #:active-menu-item "About"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Security updates") #\|)
+ #:active-menu-item (C_ "website menu" "About")
#:css (list
(guix-url "static/base/css/page.css"))
- #:crumbs (list (crumb "Security" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Security") "./"))
#:content
`(main
(section
(@ (class "page centered-block limit-width"))
- (h2 "Security")
+ ,(G_ `(h2 "Security"))
- (h3 "How to report security issues")
- (p
- "To report sensitive security issues in Guix itself or the
- packages it provides, you can write to the private mailing list "
- (a (@ (href "https://lists.gnu.org/mailman/listinfo/guix-security"))
- ("address@hidden")) ". This list is monitored by a
- small team of Guix developers.")
- (p
- "If you prefer to send your report using OpenPGP encrypted email,
- please send it to one of the following Guix developers using their
- respective OpenPGP key:")
+ ,(G_ `(h3 "How to report security issues"))
+ ,(G_
+ `(p
+ "To report sensitive security issues in Guix itself or the
+ packages it provides, you can write to the private mailing list "
+ (a (@ (href "https://lists.gnu.org/mailman/listinfo/guix-security"))
+ ("address@hidden")) ". This list is monitored by a
+ small team of Guix developers."))
+ ,(G_
+ `(p
+ "If you prefer to send your report using OpenPGP encrypted email,
+ please send it to one of the following Guix developers using their
+ respective OpenPGP key:"))
(ul
(li "Leo Famulari"
(ul (@ (class "mono"))
@@ -58,23 +62,30 @@
(ul (@ (class "mono"))
(li "BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC"))))
- (h3 "Release signatures")
- (p
- "Releases of Guix are signed using the OpenPGP "
- "key with the fingerprint "
- (span (@ (class "mono")) ,ludovics-key)
- ". "
- "Users should "
- (a (@ (href ,(manual-url "Binary-Installation.html"))) "verify")
- " their downloads before extracting or running them.")
+ ,(G_ `(h3 "Release signatures"))
+ ,(G_
+ `(p
+ "Releases of Guix are signed using the OpenPGP "
+ "key with the fingerprint "
+ (span (@ (class "mono")) ,ludovics-key)
+ ". "
+ "Users should "
+ ,(G_ (manual-href "verify"
+ (G_ "en")
+ (G_ "Binary-Installation.html")))
+ " their downloads before extracting or running them."))
- (h3 "Security updates")
- (p
- "When security vulnerabilities are found in Guix or the "
- "packages provided by Guix, we will provide "
- (a (@ (href ,(manual-url "Security-Updates.html"))) "security updates")
- " quickly and with minimal disruption for users.")
- (p
- "Guix uses a ârolling releaseâ model. All security "
- "bug-fixes are pushed directly to the master branch. There"
- " is no âstableâ branch that only receives security fixes.")))))
+ ,(G_ `(h3 "Security updates"))
+ ,(G_
+ `(p
+ "When security vulnerabilities are found in Guix or the "
+ "packages provided by Guix, we will provide "
+ ,(G_ (manual-href "security updates"
+ (G_ "en")
+ (G_ "Security-Updates.html")))
+ " quickly and with minimal disruption for users."))
+ ,(G_
+ `(p
+ "Guix uses a ârolling releaseâ model. All security "
+ "bug-fixes are pushed directly to the master branch. There"
+ " is no âstableâ branch that only receives security fixes."))))))
diff --git a/website/apps/base/templates/theme.scm
b/website/apps/base/templates/theme.scm
index ecb27ef..e33c0d3 100644
--- a/website/apps/base/templates/theme.scm
+++ b/website/apps/base/templates/theme.scm
@@ -5,15 +5,16 @@
(define-module (apps base templates theme)
#:use-module (apps base templates components)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:export (theme))
(define* (theme #:key
- (lang-tag "en")
+ (lang-tag %current-ietf-tag)
(title '())
(description "")
(keywords '())
- (active-menu-item "About")
+ (active-menu-item (C_ "website menu" "About"))
(css '())
(scripts '())
(crumbs '())
@@ -23,7 +24,8 @@
LANG-TAG (string)
IETF language tag. This is used to specify the language of the
document. For example: en, en-CA. If not provided, the value
- defaults to English (en).
+ defaults to the currently built language, i.e. the
+ %current-ietf-tag from (apps i18n).
TITLE (list)
A list of strings to form the value of the title element of the
@@ -65,12 +67,14 @@
`((doctype "html")
(html
- (@ (lang "en"))
+ (@ (lang lang-tag))
(head
,(if (null? title)
- `(title "GNUÂ Guix")
- `(title ,(string-join (append title '("GNUÂ Guix")) " â ")))
+ `(title ,(C_ "webpage title" "GNUÂ Guix"))
+ `(title ,(string-join (append title
+ (C_ "webpage title" '("GNUÂ Guix")))
+ " â ")))
(meta (@ (charset "UTF-8")))
(meta (@ (name "keywords") (content ,(string-join keywords ", "))))
(meta (@ (name "description") (content ,description)))
@@ -91,7 +95,7 @@
css)
;; Feeds.
(link (@ (type "application/atom+xml") (rel "alternate")
- (title "GNUÂ Guix â Activity Feed")
+ (title (C_ "webpage title" "GNUÂ Guix â Activity Feed"))
(href ,(guix-url "feeds/blog.atom"))))
(link (@ (rel "icon") (type "image/png")
(href ,(guix-url "static/base/img/icon.png"))))
@@ -108,17 +112,22 @@
,(if (null? crumbs) "" (breadcrumbs crumbs))
,content
- (footer
- "Made with " (span (@ (class "metta")) "â„")
- " by humans and powered by "
- (a (@ (class "link-yellow") (href ,(gnu-url "software/guile/")))
- "GNU Guile") ". "
- (a
- (@ (class "link-yellow")
- (href
"//git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website"))
- "Source code")
- " under the "
- (a
- (@ (class "link-yellow")
- (href ,(gnu-url "licenses/agpl-3.0.html")))
- "GNU AGPL") ".")))))
+ ,(G_
+ `(footer
+ "Made with " ,(G_ `(span (@ (class "metta")) "â„"))
+ " by humans and powered by "
+ ,(G_ `(a
+ (@ (class "link-yellow")
+ (href ,(gnu-url "software/guile/")))
+ "GNU Guile"))
+ ". "
+ ,(G_ `(a
+ (@ (class "link-yellow")
+ (href
"//git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website"))
+ "Source code"))
+ " under the "
+ ,(G_ `(a
+ (@ (class "link-yellow")
+ (href ,(gnu-url "licenses/agpl-3.0.html")))
+ "GNU AGPL"))
+ "."))))))
diff --git a/website/apps/base/utils.scm b/website/apps/base/utils.scm
index c18eb89..3caedf0 100644
--- a/website/apps/base/utils.scm
+++ b/website/apps/base/utils.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Mathieu Lirzin <address@hidden>
;;; Copyright © 2013 Alex Sassmannshausen <address@hidden>
;;; Copyright © 2017 Eric Bavier <address@hidden>
+;;; Copyright © 2019 Florian Pelz <address@hidden>
;;; Initially written by sirgazil who waives all copyright interest on this
;;; file.
;;;
@@ -25,6 +26,7 @@
#:use-module (apps aux lists)
#:use-module (apps aux system)
#:use-module (apps base types)
+ #:use-module (apps i18n)
#:use-module (haunt page)
#:use-module (ice-9 i18n)
#:use-module (ice-9 match)
@@ -34,7 +36,9 @@
guix-irc-log-url
guix-url
latest-guix-version
+ locale-display-name
manual-url
+ manual-url-with-language
number*
paginate))
@@ -52,6 +56,14 @@
(define latest-guix-version
(make-parameter "1.0.1"))
+(define (locale-display-name)
+ "Return the display name of the current locale."
+ ;; TRANSLATORS: The localeâs display name; please include a country
+ ;; code like in English (US) *only* if there are multiple
+ ;; Translation Project teams for the same language.
+ (let ((str '(G_ "English (US)")))
+ (gettext (cadr str))))
+
;;;
@@ -84,20 +96,24 @@
(string-append "https://git.savannah.gnu.org/cgit/guix.git/tree/" subpath))
-(define* (guix-url #:optional (subpath ""))
+(define* (guix-url #:optional (subpath "") #:key (localize #t))
"Append SUBPATH to GNU Guix root URL path (see guix-root-url-path).
SUBPATH (string)
An optional relative URL path to a resource in the GNU Guix path.
For example: 'packages/icecat-XYZ/'.
+ LOCALIZE (boolean)
+ Whether to call localize-url on the URL path.
+
RETURN VALUE (string)
A URL path. For example: /software/guix/packages/icecat-XYZ/."
- ;; If we are trying out the website locally, use "/" as the root.
- ;; Otherwise use guix-root-url-path for deployment to gnu.org.
- (if (getenv "GUIX_WEB_SITE_LOCAL")
- (string-append "/" subpath)
- (string-append (guix-root-url-path) subpath)))
+ ((if localize localize-url identity)
+ ;; If we are trying out the website locally, use "/" as the root.
+ ;; Otherwise use guix-root-url-path for deployment to gnu.org.
+ (if (getenv "GUIX_WEB_SITE_LOCAL")
+ (string-append "/" subpath)
+ (string-append (guix-root-url-path) subpath))))
(define* (manual-url #:optional (subpath "")
@@ -116,6 +132,27 @@
"/html_node/")
subpath))))
+(define* (manual-url-with-language _ language #:optional (subpath ""))
+ "Shorthand for manual-url without keywords for prettier output
+PO files when marked for translation. It can be marked for translation
+as:
+
+ (G_ (manual-url-with-language (G_ \"en\") (G_ \"Some-section.html\")))
+
+ LANGUAGE (string)
+ Normalized language for the Guix manual as produced by
+'doc/build.scm' in the Guix source tree, i.e. \"en\" for the English
+manual.
+
+ SUBPATH (string)
+ Like manual-url.
+
+ RETURN VALUE (string)
+ A URL path. For example:
+ /software/guix/manual/en/html_node/System-installation.html."
+ ;; The _ argument is a placeholder for an arg added by G_, cf.
i18n-howto.txt.
+ (manual-url subpath #:language language))
+
;;;
diff --git a/website/apps/blog/templates/components.scm
b/website/apps/blog/templates/components.scm
index fe67f29..38d02ac 100644
--- a/website/apps/blog/templates/components.scm
+++ b/website/apps/blog/templates/components.scm
@@ -8,6 +8,7 @@
#:use-module (apps aux web)
#:use-module (apps base utils)
#:use-module (apps blog utils)
+ #:use-module (apps i18n)
#:use-module (haunt post)
#:use-module (srfi srfi-19)
#:export (post-preview
@@ -29,11 +30,12 @@
(h3 ,(post-ref post 'title))
(p
(@ (class "item-date"))
- ,(date->string (post-date post) "~B ~e, ~Y"))
+ ,(date->string (post-date post) (C_ "SRFI-19 date->string format"
+ "~B ~e, ~Y")))
(p
(@ (class "item-summary"))
,(string-summarize (sxml->string* (post-sxml post)) 30)
- "âŠ")))
+ (C_ "blog post summary ellipsis" "âŠ"))))
(define* (sidebar tags #:optional (current-tag #false))
@@ -44,13 +46,13 @@
Haunt's 'posts/group-by-tag' procedure in (haunt post) module."
`(section
(@ (class "side-bar"))
- (h3 (@ (class "a11y-offset")) "Blog menu: ")
+ (h3 (@ (class "a11y-offset")) (G_ "Blog menu: "))
(h4
(@ (class "bar-title bar-title-top"))
,(if current-tag
- "Get topic updates"
- "Get blog updates"))
+ (G_ "Get topic updates")
+ (G_ "Get blog updates")))
(ul
(@ (class "bar-list"))
(li (@ (class "bar-item"))
@@ -62,9 +64,9 @@
(slugify current-tag)
".atom"))))
`(href ,(guix-url (url-path-join "feeds" "blog.atom")))))
- " Atom feed")))
+ (C_ "button" "Atom feed"))))
- (h4 (@ (class "bar-title")) "Posts by topic")
+ (h4 (@ (class "bar-title")) (G_ "Posts by topic"))
(ul
(@ (class "bar-list"))
,@(map
diff --git a/website/apps/blog/templates/feed.scm
b/website/apps/blog/templates/feed.scm
index 5e015d0..0392345 100644
--- a/website/apps/blog/templates/feed.scm
+++ b/website/apps/blog/templates/feed.scm
@@ -10,6 +10,7 @@
#:use-module (apps base types)
#:use-module (apps base utils)
#:use-module (apps blog utils)
+ #:use-module (apps i18n)
#:use-module (haunt html)
#:use-module (haunt post)
#:use-module (srfi srfi-19)
@@ -28,7 +29,7 @@
(@ (xmlns "http://www.w3.org/2005/Atom"))
(id ,id)
(title ,title)
- (author (name "GNUÂ Guix") (uri ,domain))
+ (author (name (C_ "feed author name" "GNUÂ Guix")) (uri ,domain))
(icon ,(guix-url "static/base/img/icon.png"))
(updated ,(date->string (current-date) "~4"))
(link (@ (rel "alternate") (href ,alternate)))
diff --git a/website/apps/blog/templates/post-list.scm
b/website/apps/blog/templates/post-list.scm
index a64e33a..5b3f73f 100644
--- a/website/apps/blog/templates/post-list.scm
+++ b/website/apps/blog/templates/post-list.scm
@@ -9,6 +9,7 @@
#:use-module (apps base types)
#:use-module (apps base utils)
#:use-module ((apps blog templates components) #:prefix blog:)
+ #:use-module (apps i18n)
#:export (post-list-t))
@@ -19,22 +20,24 @@
(total-pages
(number->string (context-datum context "total-pages"))))
(theme
- #:title (list (string-append "Page " page-number) "Blog")
+ #:title (list (G_ (string-append "Page " page-number ""))
+ (C_ "webpage title" "Blog"))
#:description
- "Blog posts about GNUÂ Guix."
+ (G_ "Blog posts about GNUÂ Guix.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Blog"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Blog")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
(guix-url "static/base/css/sidebar.css"))
#:crumbs
- (list (crumb "Blog" (guix-url "blog/"))
- (crumb (string-append "Page " page-number)
+ (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
+ (crumb (G_ (string-append "Page " page-number ""))
(guix-url (url-path-join "blog"
"page"
page-number
@@ -43,7 +46,7 @@
`(main
(section
(@ (class "page centered-text"))
- (h2 "Blog"
+ (h2 (G_ "Blog")
,(page-indicator (string->number page-number)
(string->number total-pages)))
diff --git a/website/apps/blog/templates/post.scm
b/website/apps/blog/templates/post.scm
index fe90ba0..2871431 100644
--- a/website/apps/blog/templates/post.scm
+++ b/website/apps/blog/templates/post.scm
@@ -9,6 +9,7 @@
#:use-module (apps base utils)
#:use-module (apps blog utils)
#:use-module ((apps blog templates components) #:prefix blog:)
+ #:use-module (apps i18n)
#:use-module (haunt post)
#:use-module (srfi srfi-19)
#:export (post-t))
@@ -21,17 +22,17 @@
(theme
#:title (list (post-ref post 'title)
(date->string (post-date post) "~Y")
- "Blog")
+ (C_ "webpage title" "Blog"))
#:description
- "Blog posts about GNUÂ Guix."
+ (G_ "Blog posts about GNUÂ Guix.")
#:keywords tags
- #:active-menu-item "Blog"
+ #:active-menu-item (C_ "website menu" "Blog")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/code.css")
(guix-url "static/blog/css/post.css"))
#:crumbs
- (list (crumb "Blog" (guix-url "blog/"))
+ (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
(crumb (post-ref post 'title)
(guix-url (post-url-path post))))
#:content
@@ -42,13 +43,14 @@
(p
(@ (class "post-metadata centered-text"))
,(post-ref post 'author) " â "
- ,(date->string (post-date post) "~B ~e, ~Y"))
+ ,(date->string (post-date post) (C_ "SRFI-19 date->string format"
+ "~B ~e, ~Y")))
,(syntax-highlight (post-sxml post))
(div
(@ (class "tag-list"))
- (p "Related topics:")
+ ,(G_ `(p "Related topics:"))
,@(map
(lambda (tag)
diff --git a/website/apps/blog/templates/tag.scm
b/website/apps/blog/templates/tag.scm
index 7d9c88b..7bd7570 100644
--- a/website/apps/blog/templates/tag.scm
+++ b/website/apps/blog/templates/tag.scm
@@ -10,6 +10,7 @@
#:use-module (apps base utils)
#:use-module ((apps blog templates components) #:prefix blog:)
#:use-module (apps blog utils)
+ #:use-module (apps i18n)
#:export (tag-t))
@@ -21,25 +22,27 @@
(total-pages
(number->string (context-datum context "total-pages"))))
(theme
- #:title (list (string-append "Page " page-number) tag "Blog")
+ #:title (list (G_ (string-append "Page " page-number ""))
+ tag (C_ "webpage title" "Blog"))
#:description
- (string-append "Blog posts about "
- tag
- " on GNUÂ Guix.")
+ (G_ (string-append "Blog posts about "
+ tag
+ " on GNUÂ Guix."))
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Blog"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Blog")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
(guix-url "static/base/css/sidebar.css"))
#:crumbs
- (list (crumb "Blog" (guix-url "blog/"))
+ (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
(crumb tag (guix-url (tag-url-path tag)))
- (crumb (string-append "Page " page-number)
+ (crumb (G_ (string-append "Page " page-number ""))
(guix-url (url-path-join (tag-url-path tag)
"page"
page-number
@@ -48,7 +51,7 @@
`(main
(section
(@ (class "page centered-text"))
- (h2 "Blog â " ,tag
+ (h2 ,(G_ "Blog â ") ,tag
,(page-indicator (string->number page-number)
(string->number total-pages)))
diff --git a/website/apps/download/data.scm b/website/apps/download/data.scm
index 8e432db..34c50df 100644
--- a/website/apps/download/data.scm
+++ b/website/apps/download/data.scm
@@ -5,6 +5,7 @@
(define-module (apps download data)
#:use-module (apps base utils)
#:use-module (apps download types)
+ #:use-module (apps i18n)
#:export (system-downloads))
@@ -16,34 +17,44 @@
(define system-downloads
(list
(download
- #:title (string-append "GNUÂ Guix System " (latest-guix-version))
+ #:title (C_ "download page title"
+ (string-append "GNUÂ Guix System " (latest-guix-version) ""))
#:description
`(div
- (p "USB/DVD ISO installer of the standalone Guix System."))
+ ,(G_ `(p "USB/DVD ISO installer of the standalone Guix System.")))
#:image (guix-url "static/base/img/GuixSD-package.png")
#:base-url (string-append
"https://ftp.gnu.org/gnu/guix/guix-system-install-"
(latest-guix-version) ".")
#:variants (list (variant "x86_64" "x86_64-linux.iso.xz")
(variant "i686" "i686-linux.iso.xz"))
- #:manual (manual-url "System-Installation.html"))
+ ;; TRANSLATORS: System installation is a section name in the
+ ;; English (en) manual.
+ #:manual (G_ (manual-url-with-language (G_ "en")
+ "System-Installation.html")))
(download
- #:title (string-append "GNUÂ Guix " (latest-guix-version) " QEMU Image")
+ #:title (C_ "download page title"
+ (string-append "GNUÂ Guix " (latest-guix-version) " QEMU
Image"))
#:description
`(div
- (p "QCOW2 virtual machine (VM) image."))
+ ,(G_ `(p "QCOW2 virtual machine (VM) image.")))
#:image (guix-url "static/base/img/QEMU-package.png")
#:base-url (string-append
"https://ftp.gnu.org/gnu/guix/guix-system-vm-image-"
(latest-guix-version) ".")
#:variants (list (variant "x86_64" "x86_64-linux.xz"))
- #:manual (manual-url "Running-Guix-in-a-VM.html"))
+ ;; TRANSLATORS: Running Guix in a VM is a section name in the
+ ;; English (en) manual.
+ #:manual (G_ (manual-url-with-language (G_ "en")
+ "Running-Guix-in-a-VM.html")))
(download
- #:title (string-append "GNUÂ Guix " (latest-guix-version) " Binary")
+ #:title (C_ "download page title"
+ (string-append "GNUÂ Guix " (latest-guix-version) " Binary"))
#:description
- '(p
- "Self-contained tarball providing binaries for Guix and its
- dependencies, to be installed on top of your Linux-based system.")
+ (G_
+ '(p
+ "Self-contained tarball providing binaries for Guix and its
+ dependencies, to be installed on top of your Linux-based system."))
#:image (guix-url "static/base/img/Guix-package.png")
#:base-url (string-append "https://ftp.gnu.org/gnu/guix/guix-binary-"
(latest-guix-version) ".")
@@ -51,13 +62,20 @@
(variant "i686" "i686-linux.tar.xz")
(variant "armhf" "armhf-linux.tar.xz")
(variant "aarch64" "aarch64-linux.tar.xz"))
- #:manual (manual-url "Binary-Installation.html"))
+ ;; TRANSLATORS: Binary Installation is a section name in the
+ ;; English (en) manual.
+ #:manual (G_ (manual-url-with-language (G_ "en")
+ "Binary-Installation.html")))
(download
- #:title (string-append "GNUÂ Guix " (latest-guix-version) " Source")
- #:description '(p "Source code distribution.")
+ #:title (C_ "download page title"
+ (string-append "GNUÂ Guix " (latest-guix-version) " Source"))
+ #:description (G_ '(p "Source code distribution."))
#:image (guix-url "static/base/img/src-package.png")
#:base-url (string-append "https://ftp.gnu.org/gnu/guix/guix-"
(latest-guix-version) ".")
#:variants (list (variant "tarball" "tar.gz"))
- #:manual (manual-url "Requirements.html"))))
+ ;; TRANSLATORS: Requirements is a section name in the English (en)
+ ;; manual.
+ #:manual (G_ (manual-url-with-language (G_ "en")
+ "Requirements.html")))))
diff --git a/website/apps/download/templates/components.scm
b/website/apps/download/templates/components.scm
index bbd46b0..60e7330 100644
--- a/website/apps/download/templates/components.scm
+++ b/website/apps/download/templates/components.scm
@@ -4,6 +4,7 @@
(define-module (apps download templates components)
#:use-module (apps download types)
+ #:use-module (apps i18n)
#:export (download))
@@ -21,7 +22,7 @@
(img (@ (src ,(download-image dnd)) (alt "")))
(h3 ,(download-title dnd))
,(download-description dnd)
- (p "Download options:")
+ ,(G_ `(p "Download options:"))
,@(map (lambda (variant)
`(a
(@ (class "download-btn")
@@ -34,7 +35,7 @@
(download-variants dnd))
(p
- "Signatures: "
+ ,(G_ "Signatures: ")
,@(map (lambda (variant)
`(a
(@ (class "signature-btn")
@@ -46,4 +47,9 @@
" ")) ; Force a space for readability in non-CSS browsers.
(download-variants dnd)))
- (p (a (@ (href ,(download-manual dnd))) "Installation instructions") ".")))
+ ,(G_
+ `(p
+ ,(G_
+ `(a (@ (href ,(download-manual dnd)))
+ "Installation instructions"))
+ "."))))
diff --git a/website/apps/download/templates/download.scm
b/website/apps/download/templates/download.scm
index f888a0b..ffa6ce0 100644
--- a/website/apps/download/templates/download.scm
+++ b/website/apps/download/templates/download.scm
@@ -23,56 +23,60 @@
#:use-module (apps base types)
#:use-module (apps base utils)
#:use-module (apps download templates components)
+ #:use-module (apps i18n)
#:export (download-t))
(define (download-t context)
"Return the Download page in SHTML."
(theme
- #:title '("Download")
+ #:title (C_ "webpage title" '("Download"))
#:description
- "Installers and source files for GNUÂ Guix. GNUÂ Guix can be
- installed on different GNU/Linux distributions."
+ (G_ "Installers and source files for GNUÂ Guix. GNUÂ Guix can be
+ installed on different GNU/Linux distributions.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "Installer" "Source code" "Package manager")
- #:active-menu-item "Download"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|Installer|Source code|\
+Package manager") #\|)
+ #:active-menu-item (C_ "website menu" "Download")
#:css (list
(guix-url "static/base/css/page.css")
(guix-url "static/base/css/download.css"))
- #:crumbs (list (crumb "Download" "./"))
+ #:crumbs (list (crumb (C_ "website menu" "Download") "./"))
#:content
`(main
(section
(@ (class "page"))
- (h2 "Download")
+ ,(G_ `(h2 "Download"))
- (p
- (@ (class "centered-block limit-width"))
- "As of version " ,(latest-guix-version)
- ", the standalone Guix System "
- (a
- (@ (href ,(manual-url "System-Installation.html")))
- "can be installed")
- " on an i686, x86_64, ARMv7, or AArch64 machine. It uses the "
- (a (@ (href ,(gnu-url "software/linux-libre"))) "Linux-Libre")
- " kernel and the "
- (a (@ (href ,(gnu-url "software/shepherd"))) "GNU Shepherd")
- " init system. Alternately, GNUÂ Guix
- can be installed as an additional package manager on top of an
- installed Linux-based system.")
+ ,(G_
+ `(p
+ (@ (class "centered-block limit-width"))
+ "As of version " ,(latest-guix-version)
+ ", the standalone Guix System "
+ ,(G_ `(a
+ (@ (href ,(manual-url "System-Installation.html")))
+ "can be installed"))
+ " on an i686, x86_64, ARMv7, or AArch64 machine. It uses the "
+ ,(G_ `(a (@ (href ,(gnu-url "software/linux-libre"))) "Linux-Libre"))
+ " kernel and the "
+ ,(G_ `(a (@ (href ,(gnu-url "software/shepherd"))) "GNU Shepherd"))
+ " init system. Alternately, GNUÂ Guix
+ can be installed as an additional package manager on top of an
+ installed Linux-based system."))
(div
(@ (class "centered-text"))
,@(map download (context-datum context "downloads")))
- (p
- (@ (class "centered-block limit-width"))
- "Source code and binaries for the Guix System distribution ISO
- image as well as GNU Guix can be found on the GNU servers at "
- (a (@ (href "https://ftp.gnu.org/gnu/guix/"))
- "https://ftp.gnu.org/gnu/guix/")
- ". Older releases can still be found on "
- (a (@ (href "https://alpha.gnu.org/gnu/guix/"))
- "alpha.gnu.org") ".")))))
+ ,(G_
+ `(p
+ (@ (class "centered-block limit-width"))
+ "Source code and binaries for the Guix System distribution ISO
+ image as well as GNU Guix can be found on the GNU servers at "
+ (a (@ (href "https://ftp.gnu.org/gnu/guix/"))
+ "https://ftp.gnu.org/gnu/guix/")
+ ". Older releases can still be found on "
+ (a (@ (href "https://alpha.gnu.org/gnu/guix/"))
+ "alpha.gnu.org") "."))))))
diff --git a/website/apps/packages/templates/components.scm
b/website/apps/packages/templates/components.scm
index 96e4296..926ec0b 100644
--- a/website/apps/packages/templates/components.scm
+++ b/website/apps/packages/templates/components.scm
@@ -8,6 +8,7 @@
#:use-module (apps aux web)
#:use-module (apps base templates components)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages data)
#:use-module (apps packages types)
#:use-module (apps packages utils)
@@ -55,37 +56,38 @@
;; 'gnu-package?' might fetch stuff from the network. Assume #f if that
;; doesn't work.
,(if (false-if-exception (gnu-package? package))
- '(p (i "This is a GNU package. "))
+ `(p (i ,(G_ "This is a GNU package. ")))
"")
,(package-description-shtml package))
(ul
(@ (class "package-info"))
- (li (b "License:") " "
- ,(license->shtml (package-license package))
- ".")
-
- (li (b "Website:") " "
- ,(link-subtle #:label (package-home-page package)
- #:url (package-home-page package)) ".")
-
- (li (b "Package source:") " "
- ,(location->shtml (package-location package))
- ".")
-
- (li (b "Patches:") " "
- ,(patches->shtml (package-patches package))
- ".")
-
- (li (b "Lint issues:") " "
- ,(if (null? (package-lint-issues package))
- "No"
- (link-subtle #:label "Yes"
- #:url (guix-url "packages/issues/")))
- ".")
-
- (li (b "Builds:") " " ,(supported-systems->shtml package) ".")
+ ,(G_ `(li ,(G_ `(b "License:")) " "
+ ,(license->shtml (package-license package))
+ "."))
+
+ ,(G_ `(li ,(G_ `(b "Website:")) " "
+ ,(link-subtle #:label (package-home-page package)
+ #:url (package-home-page package)) "."))
+
+ ,(G_ `(li ,(G_ `(b "Package source:")) " "
+ ,(location->shtml (package-location package))
+ "."))
+
+ ,(G_ `(li ,(G_ `(b "Patches:")) " "
+ ,(patches->shtml (package-patches package))
+ "."))
+
+ ,(G_ `(li ,(G_ `(b "Lint issues:")) " "
+ ,(if (null? (package-lint-issues package))
+ (G_ "No")
+ (link-subtle #:label (G_ "Yes")
+ #:url (guix-url "packages/issues/")))
+ "."))
+
+ ,(G_ `(li ,(G_ `(b "Builds:")) " "
+ ,(supported-systems->shtml package) "."))
"\n")))
@@ -99,7 +101,7 @@
A span element if the count is 0. A mark element otherwise."
`(,(if (> count 0) 'mark 'span)
,(number->string count)
- ,(if (= count 1) " issue" " issues")))
+ ,(N_ " issue" " issues" count)))
(define* (letter-selector #:optional (active-letter ""))
@@ -110,10 +112,10 @@
The letter that should be displayed as active."
`(section
(@ (class "letter-selector"))
- (h3 (@ (class "a11y-offset")) "Packages menu: ")
+ ,(G_ `(h3 (@ (class "a11y-offset")) "Packages menu: "))
- (h4 (@ (class "selector-title selector-title-top"))
- "Browse alphabetically")
+ ,(G_ `(h4 (@ (class "selector-title selector-title-top"))
+ "Browse alphabetically"))
(div
(@ (class "selector-box-padded"))
,@(map
@@ -199,7 +201,7 @@
If the list of patches is empty, return the string 'None'.
Otherwise, return a list of links to patches."
(if (null? patches)
- "None"
+ (G_ "None")
(separate
(map (lambda (patch)
(link-subtle #:label (ilink-name patch)
@@ -216,9 +218,9 @@
The letter in which the current packages are listed."
`(section
(@ (class "side-bar"))
- (h3 (@ (class "a11y-offset")) "Packages menu: ")
+ ,(G_ `(h3 (@ (class "a11y-offset")) "Packages menu: "))
- (h4 (@ (class "bar-title bar-title-top")) "Browse alphabetically")
+ ,(G_ `(h4 (@ (class "bar-title bar-title-top")) "Browse alphabetically"))
(div
(@ (class "bar-box-padded"))
,@(map
@@ -233,16 +235,16 @@
;; FIXME: This is currently too costly to produce so we just disable it.
- ;; (h4 (@ (class "bar-title")) "Packages Issues")
+ ;; ,(G_ `(h4 (@ (class "bar-title")) "Packages Issues"))
;; (ul
;; (@ (class "bar-list"))
;; (li (@ (class "bar-item"))
- ;; (a (@ (class "bar-link")
- ;; (href ,(guix-url "packages/issues/lint/"))) "Lint"))
+ ;; ,(G_ `(a (@ (class "bar-link")
+ ;; (href ,(guix-url "packages/issues/lint/"))) "Lint")))
;; (li (@ (class "bar-item"))
- ;; (a (@ (class "bar-link")
- ;; (href ,(guix-url "packages/issues/reproducibility/")))
- ;; "Reproducibility")))
+ ;; ,(G_ `(a (@ (class "bar-link")
+ ;; (href ,(guix-url "packages/issues/reproducibility/")))
+ ;; "Reproducibility"))))
))
@@ -265,7 +267,7 @@
%hydra-supported-systems
(package-transitive-supported-systems package))))
(if (null? systems)
- "None"
+ (G_ "None")
(separate
(map (lambda (system)
(link-subtle #:label system
diff --git a/website/apps/packages/templates/detailed-index.scm
b/website/apps/packages/templates/detailed-index.scm
index 81dfdd6..68dc9de 100644
--- a/website/apps/packages/templates/detailed-index.scm
+++ b/website/apps/packages/templates/detailed-index.scm
@@ -8,6 +8,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages templates components)
#:use-module (srfi srfi-19)
#:export (detailed-index-t))
@@ -18,39 +19,45 @@
packages to advertise."
(let ((packages (context-datum context "packages")))
(theme
- #:title (list "Packages")
+ #:title (C_ "webpage title" (list "Packages"))
#:description
- "List of packages available through GNUÂ Guix."
+ (G_ "List of packages available through GNUÂ Guix.")
#:keywords
- (list "GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Packages"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Packages")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
(guix-url "static/packages/css/letter-selector.css")
(guix-url "static/packages/css/package-list.css"))
#:crumbs
- (list (crumb "Packages" (guix-url "packages/")))
+ (list (crumb (C_ "website menu" "Packages") (guix-url "packages/")))
#:content
`(main
(section
(@ (class "page centered-text"))
- (h2 "Packages")
+ ,(G_ `(h2 "Packages"))
- (p
- (@ (class "limit-width centered-block"))
- "GNU Guix provides " ,(number* (or total (length packages)))
- " packages transparently "
- (a (@ (href "https://hydra.gnu.org/jobset/gnu/master#tabs-status"))
- "available as pre-built binaries")
- ". These pages provide a complete list of the packages. Our "
- (a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
- "continuous integration system")
- " shows their current build status "
- "(updated " ,(date->string (current-date) "~B ~e, ~Y") ").")
+ ,(G_
+ `(p
+ (@ (class "limit-width centered-block"))
+ "GNU Guix provides " ,(number* (or total (length packages)))
+ " packages transparently "
+ ,(G_
+ `(a (@ (href
"https://hydra.gnu.org/jobset/gnu/master#tabs-status"))
+ "available as pre-built binaries"))
+ ". These pages provide a complete list of the packages. Our "
+ ,(G_
+ `(a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
+ "continuous integration system"))
+ " shows their current build status "
+ "(updated " ,(date->string (current-date)
+ (C_ "SRFI-19 date->string format"
+ "~B ~e, ~Y")) ")."))
(div
(@ (class "sheet sheet-padded justify-left"))
diff --git a/website/apps/packages/templates/detailed-package-list.scm
b/website/apps/packages/templates/detailed-package-list.scm
index c0a60de..9b23ed1 100644
--- a/website/apps/packages/templates/detailed-package-list.scm
+++ b/website/apps/packages/templates/detailed-package-list.scm
@@ -8,6 +8,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages templates components)
#:export (detailed-package-list-t))
@@ -20,15 +21,17 @@
(total-pages
(number->string (context-datum context "total-pages"))))
(theme
- #:title (list (string-append "Page " page-number) letter "Packages")
+ #:title (list (G_ (string-append "Page " page-number ""))
+ letter (C_ "webpage title" "Packages"))
#:description
- "List of packages available through GNUÂ Guix."
+ (G_ "List of packages available through GNUÂ Guix.")
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Packages"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Packages")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
@@ -37,11 +40,11 @@
#:scripts
(list (guix-url "static/packages/js/build-status.js"))
#:crumbs
- (list (crumb "Packages" (guix-url "packages/"))
+ (list (crumb (C_ "website menu" "Packages") (guix-url "packages/"))
(crumb letter (guix-url (url-path-join "packages"
letter
"")))
- (crumb (string-append "Page " page-number)
+ (crumb (G_ (string-append "Page " page-number ""))
(guix-url (url-path-join "packages"
"page"
page-number
@@ -50,7 +53,7 @@
`(main
(section
(@ (class "page centered-text"))
- (h2 "Packages â " ,letter
+ (h2 (G_ "Packages â ") ,letter
,(page-indicator (string->number page-number)
(string->number total-pages)))
diff --git a/website/apps/packages/templates/index.scm
b/website/apps/packages/templates/index.scm
index afd10d9..aa0a91d 100644
--- a/website/apps/packages/templates/index.scm
+++ b/website/apps/packages/templates/index.scm
@@ -8,6 +8,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages templates components)
#:use-module (srfi srfi-19)
#:export (index-t))
@@ -18,37 +19,43 @@
(let ((packages (context-datum context "packages"))
(total (context-datum context "total")))
(theme
- #:title (list "Packages")
+ #:title (C_ "webpage title" (list "Packages"))
#:description
- "List of packages available through GNUÂ Guix."
+ (G_ "List of packages available through GNUÂ Guix.")
#:keywords
- (list "GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Packages"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Packages")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
(guix-url "static/packages/css/letter-selector.css"))
#:crumbs
- (list (crumb "Packages" (guix-url "packages/")))
+ (list (crumb (C_ "website menu" "Packages") (guix-url "packages/")))
#:content
`(main
(section
(@ (class "page centered-text"))
- (h2 "Packages")
+ ,(G_ `(h2 "Packages"))
- (p
- (@ (class "limit-width centered-block"))
- "GNU Guix provides " ,(number* total) " packages transparently "
- (a (@ (href "https://hydra.gnu.org/jobset/gnu/master#tabs-status"))
- "available as pre-built binaries")
- ". These pages provide a complete list of the packages. Our "
- (a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
- "continuous integration system")
- " shows their current build status "
- "(updated " ,(date->string (current-date) "~B ~e, ~Y") ").")
+ ,(G_
+ `(p
+ (@ (class "limit-width centered-block"))
+ "GNU Guix provides " ,(number* total) " packages transparently "
+ ,(G_
+ `(a (@ (href
"https://hydra.gnu.org/jobset/gnu/master#tabs-status"))
+ "available as pre-built binaries"))
+ ". These pages provide a complete list of the packages. Our "
+ ,(G_
+ `(a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
+ "continuous integration system"))
+ " shows their current build status "
+ "(updated " ,(date->string (current-date)
+ (C_ "SRFI-19 date->string format"
+ "~B ~e, ~Y")) ")."))
(div
(@ (class "sheet"))
diff --git a/website/apps/packages/templates/package-list.scm
b/website/apps/packages/templates/package-list.scm
index e047812..d77ed17 100644
--- a/website/apps/packages/templates/package-list.scm
+++ b/website/apps/packages/templates/package-list.scm
@@ -8,6 +8,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages templates components)
#:export (package-list-t))
@@ -20,25 +21,27 @@
(total-pages
(number->string (context-datum context "total-pages"))))
(theme
- #:title (list (string-append "Page " page-number) letter "Packages")
+ #:title (list (G_ (string-append "Page " page-number ""))
+ letter (C_ "webpage title" "Packages"))
#:description
"List of packages available through GNUÂ Guix."
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Packages"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Packages")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/base/css/item-preview.css")
(guix-url "static/packages/css/letter-selector.css"))
#:crumbs
- (list (crumb "Packages" (guix-url "packages/"))
+ (list (crumb (C_ "website menu" "Packages") (guix-url "packages/"))
(crumb letter (guix-url (url-path-join "packages"
letter
"")))
- (crumb (string-append "Page " page-number)
+ (crumb (G_ (string-append "Page " page-number ""))
(guix-url (url-path-join "packages"
"page"
page-number
@@ -47,7 +50,7 @@
`(main
(section
(@ (class "page centered-text"))
- (h2 "Packages â " ,letter
+ (h2 (G_ "Packages â ") ,letter
,(page-indicator (string->number page-number)
(string->number total-pages)))
diff --git a/website/apps/packages/templates/package.scm
b/website/apps/packages/templates/package.scm
index 9dfb2fa..814700f 100644
--- a/website/apps/packages/templates/package.scm
+++ b/website/apps/packages/templates/package.scm
@@ -8,6 +8,7 @@
#:use-module (apps base templates theme)
#:use-module (apps base types)
#:use-module (apps base utils)
+ #:use-module (apps i18n)
#:use-module (apps packages templates components)
#:use-module (apps packages types)
#:use-module (apps packages utils)
@@ -24,19 +25,20 @@
(package-version package)))
(lint-issues (package-lint-issues package)))
(theme
- #:title (list package-id "Packages")
+ #:title (C_ "webpage title" (list package-id "Packages"))
#:description (package-synopsis-shtml package)
#:keywords
- '("GNU" "Linux" "Unix" "Free software" "Libre software"
- "Operating system" "GNU Hurd" "GNU Guix package manager"
- "GNU Guile" "Guile Scheme" "Transactional upgrades"
- "Functional package management" "Reproducibility")
- #:active-menu-item "Packages"
+ (string-split ;TRANSLATORS: |-separated list of webpage keywords
+ (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
+Scheme|Transactional upgrades|Functional package \
+management|Reproducibility") #\|)
+ #:active-menu-item (C_ "website menu" "Packages")
#:css
(list (guix-url "static/base/css/page.css")
(guix-url "static/packages/css/package.css"))
#:crumbs
- (list (crumb "Packages" (guix-url "packages/"))
+ (list (crumb (C_ "website menu" "Packages") (guix-url "packages/"))
(crumb package-id
(guix-url (package-url-path package))))
#:content
@@ -51,31 +53,35 @@
;; 'gnu-package?' might fetch stuff from the network. Assume #f if
;; that doesn't work.
(p ,(if (false-if-exception (gnu-package? package))
- '(it "This is a GNU package. ")
+ (G_ '(it "This is a GNU package. "))
"")
,(package-description-shtml package))
(ul
(@ (class "package-info"))
- (li (b "Website: ")
- (a (@ (href ,(package-home-page package)))
- ,(package-home-page package)))
- (li (b "License: ")
- ,(license->shtml (package-license package)))
- (li (b "Package source: ")
- ,(location->shtml (package-location package)))
- (li (b "Patches: ")
- ,(patches->shtml (package-patches package)))
- (li (b "Builds: ")
- ,(supported-systems->shtml package)))
+ ,(G_ `(li ,(G_ `(b "Website: "))
+ (a (@ (href ,(package-home-page package)))
+ ,(package-home-page package))))
+ ,(G_ `(li ,(G_ `(b "License: "))
+ ,(license->shtml (package-license package))))
+ ,(G_ `(li ,(G_ `(b "Package source: "))
+ ,(location->shtml (package-location package))))
+ ,(G_ `(li ,(G_ `(b "Patches: "))
+ ,(patches->shtml (package-patches package))))
+ ,(G_ `(li ,(G_ `(b "Builds: "))
+ ,(supported-systems->shtml package))))
;; Lint issues.
,(if (null? lint-issues)
""
- `((h3 "Lint issues")
- (p
- ,(issue-count->shtml (length lint-issues)) ". "
- "See " (a (@ (href "#")) "package definition")
- " in Guix source code.")
+ (G_ `(,(G_ `(h3 "Lint issues"))
+ ,(G_
+ `(p
+ ""
+ ,(issue-count->shtml
+ (length lint-issues))
+ ". "
+ "See " ,(G_ `(a (@ (href "#")) "package definition"))
+ " in Guix source code."))
- ,@(map lint-issue->shtml lint-issues))))))))
+ ,@(map lint-issue->shtml lint-issues)))))))))
diff --git a/website/po/guix-website.pot b/website/po/guix-website.pot
new file mode 100644
index 0000000..350ca1b
--- /dev/null
+++ b/website/po/guix-website.pot
@@ -0,0 +1,1216 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Ludovic CourtĂšs
+# This file is distributed under the same license as the guix-website package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: guix-website\n"
+"Report-Msgid-Bugs-To: address@hidden\n"
+"POT-Creation-Date: 2019-09-15 14:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANSLATORS: The localeâs display name; please include a country
+#. code like in English (US) *only* if there are multiple
+#. Translation Project teams for the same language.
+#: apps/base/utils.scm:63
+msgid "English (US)"
+msgstr ""
+
+#: apps/base/templates/home.scm:18
+msgctxt "webpage title"
+msgid "GNU's advanced distro and transactional package manager"
+msgstr ""
+
+#: apps/base/templates/home.scm:20 apps/base/templates/about.scm:19
+msgid "Guix is an advanced distribution of the GNU operating system.\n Guix
is technology that respects the freedom of computer users.\n You are free to
run the system for any purpose, study how it\n works, improve it, and share
it with the whole world."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/home.scm:26 apps/base/templates/menu.scm:20
apps/base/templates/screenshot.scm:23 apps/blog/templates/post-list.scm:29
apps/blog/templates/tag.scm:33 apps/packages/templates/detailed-index.scm:27
apps/packages/templates/detailed-package-list.scm:30
apps/packages/templates/index.scm:27
apps/packages/templates/package-list.scm:30
apps/packages/templates/package.scm:32
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|GNU Guile|Guile Scheme|Transactional
upgrades|Functional package management|Reproducibility"
+msgstr ""
+
+#: apps/base/templates/home.scm:30 apps/base/templates/components.scm:343
apps/base/templates/screenshot.scm:27
+msgctxt "website menu"
+msgid "Overview"
+msgstr ""
+
+#: apps/base/templates/home.scm:39
+msgid "Summary"
+msgstr ""
+
+#: apps/base/templates/home.scm:41
+msgid "<1>Liberating.</1> Guix is an advanced distribution of the <2>GNU
operating system</2> developed by the <3>GNU Project</3>âwhich respects the
<4>freedom of computer users</4>. "
+msgstr ""
+
+#. TRANSLATORS: Package Management, Features and Using the
+#. Configuration System are section names in the English (en)
+#. manual.
+#: apps/base/templates/home.scm:62
+msgid "<1>Dependable.</1> Guix
<2>supports<2.1>en</2.1><2.2>Package-Management.html</2.2></2> transactional
upgrades and roll-backs, unprivileged package management, <3>and
more<3.1>en</3.1><3.2>Features.html</3.2></3>. When used as a standalone
distribution, Guix supports <4>declarative system
configuration<4.1>en</4.1><4.2>Using-the-Configuration-System.html</4.2></4>
for transparent and reproducible operating systems."
+msgstr ""
+
+#. TRANSLATORS: Defining Packages and System Configuration are
+#. section names in the English (en) manual.
+#: apps/base/templates/home.scm:82
+msgid "<1>Hackable.</1> It provides <2>Guile Scheme</2> APIs, including
high-level embedded domain-specific languages (EDSLs) to <3>define
packages<3.1>en</3.1><3.2>Defining-Packages.html</3.2></3> and <4>whole-system
configurations<4.1>en</4.1><4.2>System-Configuration.html</4.2></4>."
+msgstr ""
+
+#: apps/base/templates/home.scm:104
+msgctxt "button"
+msgid "DOWNLOAD v<1/>"
+msgstr ""
+
+#: apps/base/templates/home.scm:109
+msgctxt "button"
+msgid "CONTRIBUTE"
+msgstr ""
+
+#: apps/base/templates/home.scm:116
+msgid "Discover Guix"
+msgstr ""
+
+#: apps/base/templates/home.scm:118
+msgid "Guix comes with thousands of packages which include applications,
system tools, documentation, fonts, and other digital goods readily available
for installing with the <1>GNU Guix</1> package manager."
+msgstr ""
+
+#: apps/base/templates/home.scm:135
+msgctxt "button"
+msgid "ALL PACKAGES"
+msgstr ""
+
+#: apps/base/templates/home.scm:142
+msgid "GNU Guix in your field"
+msgstr ""
+
+#: apps/base/templates/home.scm:144
+msgid "Read some stories about how people are using GNUÂ Guix in\ntheir daily
lives."
+msgstr ""
+
+#: apps/base/templates/home.scm:155
+msgctxt "button"
+msgid "SOFTWARE DEVELOPMENT"
+msgstr ""
+
+#: apps/base/templates/home.scm:160
+msgctxt "button"
+msgid "BIOINFORMATICS"
+msgstr ""
+
+#: apps/base/templates/home.scm:165
+msgctxt "button"
+msgid "HIGH PERFORMANCE COMPUTING"
+msgstr ""
+
+#: apps/base/templates/home.scm:170
+msgctxt "button"
+msgid "RESEARCH"
+msgstr ""
+
+#: apps/base/templates/home.scm:175
+msgctxt "button"
+msgid "ALL FIELDS..."
+msgstr ""
+
+#: apps/base/templates/home.scm:182
+msgid "GNU Guix in other GNU/Linux distros"
+msgstr ""
+
+#: apps/base/templates/home.scm:194
+msgid "Video: <1>Demo of Guix in another GNU/Linux
distribution<1.1/>https://audio-video.gnu.org/video/misc/2016-07__GNU_Guix_Demo_2.webm</1>
(1 minute, 30 seconds)."
+msgstr ""
+
+#: apps/base/templates/home.scm:205
+msgid "If you don't use GNUÂ Guix as a standalone GNU/Linux distribution, you
still can use it as a package manager on top of any GNU/Linux distribution.
This way, you can benefit from all its conveniences."
+msgstr ""
+
+#: apps/base/templates/home.scm:210
+msgid "Guix won't interfere with the package manager that comes with your
distribution. They can live together."
+msgstr ""
+
+#: apps/base/templates/home.scm:217
+msgctxt "button"
+msgid "TRY IT OUT!"
+msgstr ""
+
+#: apps/base/templates/home.scm:224 apps/blog/templates/post-list.scm:49
+msgid "Blog"
+msgstr ""
+
+#: apps/base/templates/home.scm:231
+msgctxt "button"
+msgid "ALL POSTS"
+msgstr ""
+
+#: apps/base/templates/home.scm:237 apps/base/templates/contact.scm:36
+msgid "Contact"
+msgstr ""
+
+#: apps/base/templates/home.scm:244
+msgctxt "button"
+msgid "ALL CONTACT MEDIA"
+msgstr ""
+
+#: apps/base/templates/theme.scm:17 apps/base/templates/components.scm:350
apps/base/templates/about.scm:27 apps/base/templates/about.scm:30
apps/base/templates/contact.scm:26 apps/base/templates/contribute.scm:26
apps/base/templates/graphics.scm:24 apps/base/templates/security.scm:28
+msgctxt "website menu"
+msgid "About"
+msgstr ""
+
+#: apps/base/templates/theme.scm:74 apps/base/templates/theme.scm:76
+msgctxt "webpage title"
+msgid "GNUÂ Guix"
+msgstr ""
+
+#: apps/base/templates/theme.scm:98
+msgctxt "webpage title"
+msgid "GNUÂ Guix â Activity Feed"
+msgstr ""
+
+#: apps/base/templates/theme.scm:115
+msgid "Made with <1>â„</1> by humans and powered by <2>GNU Guile</2>.
<3>Source code</3> under the <4>GNU AGPL</4>."
+msgstr ""
+
+#: apps/base/templates/components.scm:48
+msgid "Your location:"
+msgstr ""
+
+#: apps/base/templates/components.scm:50
+msgid "Home"
+msgstr ""
+
+#: apps/base/templates/components.scm:153
+msgid "archive"
+msgstr ""
+
+#: apps/base/templates/components.scm:337
+msgctxt "website menu"
+msgid "Guix"
+msgstr ""
+
+#: apps/base/templates/components.scm:341
+msgid "website menu:"
+msgstr ""
+
+#: apps/base/templates/components.scm:344
apps/download/templates/download.scm:42 apps/download/templates/download.scm:46
apps/download/templates/download.scm:42 apps/download/templates/download.scm:46
+msgctxt "website menu"
+msgid "Download"
+msgstr ""
+
+#: apps/base/templates/components.scm:345
apps/packages/templates/detailed-index.scm:31
apps/packages/templates/detailed-index.scm:38
apps/packages/templates/detailed-package-list.scm:34
apps/packages/templates/detailed-package-list.scm:43
apps/packages/templates/index.scm:31 apps/packages/templates/index.scm:37
apps/packages/templates/package-list.scm:34
apps/packages/templates/package-list.scm:40
apps/packages/templates/package.scm:36 apps/packages/templates/package.scm:41
+msgctxt "website menu"
+msgid "Packages"
+msgstr ""
+
+#: apps/base/templates/components.scm:346 apps/blog/templates/post-list.scm:33
apps/blog/templates/post-list.scm:39 apps/blog/templates/post.scm:29
apps/blog/templates/post.scm:35 apps/blog/templates/tag.scm:37
apps/blog/templates/tag.scm:43
+msgctxt "website menu"
+msgid "Blog"
+msgstr ""
+
+#: apps/base/templates/components.scm:347 apps/base/templates/help.scm:26
apps/base/templates/help.scm:30
+msgctxt "website menu"
+msgid "Help"
+msgstr ""
+
+#: apps/base/templates/components.scm:348 apps/base/templates/donate.scm:26
apps/base/templates/donate.scm:29
+msgctxt "website menu"
+msgid "Donate"
+msgstr ""
+
+#: apps/base/templates/components.scm:353 apps/base/templates/contact.scm:31
+msgctxt "website menu"
+msgid "Contact"
+msgstr ""
+
+#: apps/base/templates/components.scm:354 apps/base/templates/contribute.scm:30
+msgctxt "website menu"
+msgid "Contribute"
+msgstr ""
+
+#: apps/base/templates/components.scm:355 apps/base/templates/security.scm:31
+msgctxt "website menu"
+msgid "Security"
+msgstr ""
+
+#: apps/base/templates/components.scm:356 apps/base/templates/graphics.scm:27
+msgctxt "website menu"
+msgid "Graphics"
+msgstr ""
+
+#: apps/base/templates/components.scm:374
+msgid " (Page <1/> of <2/>)"
+msgstr ""
+
+#: apps/base/templates/components.scm:398
+msgid "Page <1/> of <2/>. Go to another page: "
+msgstr ""
+
+#: apps/base/templates/about.scm:17
+msgctxt "webpage title"
+msgid "About"
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/about.scm:25
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager"
+msgstr ""
+
+#: apps/base/templates/about.scm:35
+msgid "About the Project"
+msgstr ""
+
+#: apps/base/templates/about.scm:37
+msgid "The <1>GNU Guix</1> package and system manager is a <2>free
software</2> project developed by volunteers around the world under the\n
umbrella of the <3>GNU Project</3>. "
+msgstr ""
+
+#: apps/base/templates/about.scm:46
+msgid "Guix System is an advanced distribution of the <1>GNU operating
system</1>. It uses the <2>Linux-libre</2> kernel, and support for <3>the
Hurd</3> is being worked on. As a GNU distribution, it is committed\n
to respecting and enhancing <4>the freedom of its users</4>. As such, it
adheres to the <5>GNU Free System Distribution Guidelines</5>."
+msgstr ""
+
+#. TRANSLATORS: Features and Defining Packages are section names
+#. in the English (en) manual.
+#: apps/base/templates/about.scm:64
+msgid "GNU Guix provides <1>state-of-the-art package management
features<1.1>en</1.1><1.2>Features.html</1.2></1> such as transactional
upgrades and roll-backs, reproducible\n build environments,
unprivileged package management, and\n per-user profiles. It uses
low-level mechanisms from the <2>Nix</2> package manager, but packages are
<3>defined<3.1>en</3.1><3.2>Defining-Packages.html</3.2></3> as native
<4>Guile</4> modules, using extensions to the <5>Scheme</5> l [...]
+msgstr ""
+
+#. TRANSLATORS: Using the Configuration System, Initial RAM Disk
+#. and Defining Services are section names in the English (en)
+#. manual.
+#: apps/base/templates/about.scm:85
+msgid "Guix takes that a step further by additionally supporting stateless,\n
reproducible <1>operating system
configurations<1.1>en</1.1><1.2>Using-the-Configuration-System.html</1.2></1>.
This time the whole system is hackable in Scheme, from the <2>initial RAM
disk<2.1>en</2.1><2.2>Initial-RAM-Disk.html</2.2></2> to the <3>initialization
system</3>, and to the <4>system
services<4.1>en</4.1><4.2>Defining-Services.html</4.2></4>."
+msgstr ""
+
+#: apps/base/templates/about.scm:106
+msgid "Maintainer"
+msgstr ""
+
+#: apps/base/templates/about.scm:108
+msgid "Guix is currently maintained by Ludovic CourtĂšs and Ricardo\n
Wurmus. Please use the <1>mailing lists</1> for contact. "
+msgstr ""
+
+#: apps/base/templates/about.scm:116
+msgid "Licensing"
+msgstr ""
+
+#: apps/base/templates/about.scm:118
+msgid "Guix is free software; you can redistribute it and/or modify\n
it under the terms of the <1>GNU General Public License</1> as published by the
Free Software Foundation; either\n version 3 of the License, or (at
your option) any later\n version. "
+msgstr ""
+
+#: apps/base/data.scm:25
+msgid "IRC Channel"
+msgstr ""
+
+#: apps/base/data.scm:27
+msgid "Join the <1/> channel on the Freenode IRC network to chat\n with
the community about GNUÂ Guix or to get help in\n real-time."
+msgstr ""
+
+#: apps/base/data.scm:36
+msgid "Info Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:38
+msgid "Subscribe to the <1/> low-traffic mailing\nlist to receive important
announcements sent by the project maintainers (in\nEnglish)."
+msgstr ""
+
+#: apps/base/data.scm:47
+msgid "Help Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:52
+msgid "Subscribe to the Help mailing list to get support\nfrom the GNUÂ Guix
community via email. You can post messages in English\nthough we also accept
other languages."
+msgstr ""
+
+#: apps/base/data.scm:56
+msgctxt "unique lingua code like en or zh-cn"
+msgid "en"
+msgstr ""
+
+#: apps/base/data.scm:127
+msgid "Bug Reporting"
+msgstr ""
+
+#: apps/base/data.scm:129
+msgid "If you found a bug in Guix, check whether the bug is\n already in
the <1>bug database</1>. If it is not, please <2>report it.</2>"
+msgstr ""
+
+#: apps/base/data.scm:141
+msgid "Development Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:143
+msgid "Discussion about the development of GNU Guix. <1> Until July 2013</1>,
the bug-Guix mailing list filled that role. "
+msgstr ""
+
+#: apps/base/data.scm:153
+msgid "Patches Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:155
+msgid "Submission of patches. Every message sent to this mailing list\n
leads to a new entry in our <1>patch tracking tool</1>. See <2>this page</2>
for more information on how to use it; see <3>the
manual<3.1>en</3.1><3.2>Submitting-Patches.html</3.2></3> for more information
on how to submit a patch. <4>Until February 2017</4>, the guix-devel mailing
list filled that role."
+msgstr ""
+
+#: apps/base/data.scm:174
+msgid "Commits Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:176
+msgid "Notifications of commits made to the <1>Git repositories</1>."
+msgstr ""
+
+#: apps/base/data.scm:185
+msgid "Security Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:187
+msgid "This is a private mailing list that anyone can post to to <1>report
security issues</1> in Guix itself or in the <2>packages</2> it provides.
Posting here allows Guix developers to address\n the problem before it is
widely publicized."
+msgstr ""
+
+#: apps/base/data.scm:199
+msgid "Sysadmin Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:201
+msgid "Private mailing list for the <1>build farm</1> system administration."
+msgstr ""
+
+#: apps/base/data.scm:213
+msgid "GNU System Discuss Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:215
+msgid "Discussion about the development of the broader GNU system."
+msgstr ""
+
+#: apps/base/data.scm:220
+msgid "GNU/Linux-libre Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:222
+msgid "Workgroup for fully free GNU/Linux distributions."
+msgstr ""
+
+#: apps/base/data.scm:227
+msgid "GNU Info Mailing List"
+msgstr ""
+
+#: apps/base/data.scm:229
+msgid "GNU software announcements."
+msgstr ""
+
+#: apps/base/data.scm:238
+msgctxt "screenshot title"
+msgid "Graphical log-in"
+msgstr ""
+
+#: apps/base/data.scm:242
+msgid "Graphical log-in screen"
+msgstr ""
+
+#: apps/base/data.scm:245
+msgctxt "screenshot title"
+msgid "GNOME"
+msgstr ""
+
+#: apps/base/data.scm:249
+msgid "Control your computer with the GNOME desktop environment"
+msgstr ""
+
+#: apps/base/data.scm:252
+msgctxt "screenshot title"
+msgid "Xfce"
+msgstr ""
+
+#: apps/base/data.scm:256
+msgid "The Xfce desktop environment with GNUÂ Emacs and IceCat"
+msgstr ""
+
+#: apps/base/data.scm:259
+msgctxt "screenshot title"
+msgid "Virtual machine"
+msgstr ""
+
+#: apps/base/data.scm:263
+msgid "Virtual machine started with 'guix system vm'"
+msgstr ""
+
+#: apps/base/data.scm:266
+msgctxt "screenshot title"
+msgid "Enlightenment"
+msgstr ""
+
+#: apps/base/data.scm:270
+msgid "Enlightenment, Inkscape, and Serbian text"
+msgstr ""
+
+#: apps/base/templates/help.scm:17
+msgctxt "webpage title"
+msgid "Help"
+msgstr ""
+
+#: apps/base/templates/help.scm:19
+msgid "A list of resources about how to use GNU Guix, plus\n information
about getting help from the community of users and\n developers."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/help.scm:24
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Help resources"
+msgstr ""
+
+#: apps/base/templates/help.scm:35
+msgid "Help"
+msgstr ""
+
+#: apps/base/templates/help.scm:46
+msgid "GNU Guix Manual"
+msgstr ""
+
+#: apps/base/templates/help.scm:47
+msgid "Documentation for GNU Guix is available\n online. You may
also find more information about Guix by running <1>info guix</1>."
+msgstr ""
+
+#: apps/base/templates/help.scm:53
+msgid "Read Guix manual"
+msgstr ""
+
+#: apps/base/templates/help.scm:64
+msgid "Get Guix reference card"
+msgstr ""
+
+#: apps/base/templates/help.scm:72
+msgid "GNU Manuals"
+msgstr ""
+
+#: apps/base/templates/help.scm:73
+msgid "Guix is a distribution of the <1>GNU operating system</1>.
Documentation for GNU packages is\n available online in various
formats. "
+msgstr ""
+
+#: apps/base/templates/help.scm:81
+msgid "Browse GNU manuals"
+msgstr ""
+
+#: apps/base/templates/help.scm:89
+msgid "IRC Chat"
+msgstr ""
+
+#: apps/base/templates/help.scm:90
+msgid "For real-time support from the community, you can connect\n
to the <1/> channel on irc.freenode.net. There\n you can get help
about anything related to GNUÂ Guix."
+msgstr ""
+
+#: apps/base/templates/help.scm:95
+msgid "The <1/> channel is logged. Previous\n conversations can be
browsed online. See the <2>channel logs</2>. "
+msgstr ""
+
+#: apps/base/templates/help.scm:102
+msgid "Connect"
+msgstr ""
+
+#: apps/base/templates/help.scm:110
+msgid "Mailing lists"
+msgstr ""
+
+#: apps/base/templates/help.scm:111
+msgid "Email support from the community is also available through\n
several mailing list. The messages sent to the lists are\n public
and archived online."
+msgstr ""
+
+#: apps/base/templates/help.scm:119
+msgid "See all lists"
+msgstr ""
+
+#: apps/base/templates/contact.scm:17 apps/base/templates/irc.scm:18
apps/base/templates/irc.scm:29
+msgctxt "webpage title"
+msgid "Contact"
+msgstr ""
+
+#: apps/base/templates/contact.scm:19
+msgid "A list of channels to communicate with GNUÂ Guix users\n and
developers about anything you want."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/contact.scm:23
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Community|Mailing lists|IRC channels|Bug
reports|Help"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:17
+msgctxt "webpage title"
+msgid "Contribute"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:19
+msgid "Check all the ways you can contribute to make GNUÂ Guix\n better, and
join the world-wide community of volunteers."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/contribute.scm:23
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package
manager|Volunteer|Development|Translation|I18N|L10N|Artwork"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:35
apps/base/templates/contribute.scm:110 apps/base/templates/contribute.scm:227
+msgid "Contribute"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:37
+msgid "GNUÂ Guix is a large project developed\n mostly by volunteers
from all around the world. You are welcome\n to join us in the
<1>development mailing list</1> or in the <2>#guix channel</2> in IRC Freenode.
Tell us how would you like to help, and we\n will do our best to guide
you. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:51
+msgid "We want to provide a warm, friendly, and harassment-free environment,\n
so that anyone can contribute to the best of their abilities. To\n
this end our project uses a âContributor Covenantâ, which was adapted\n
from <1>https://contributor-covenant.org/</1>. You can find the full
pledge in the <2>CODE-OF-CONDUCT</2> file."
+msgstr ""
+
+#: apps/base/templates/contribute.scm:72
+msgid "Project Management"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:73
+msgid "We use <1>Savannah</1> as the central point for development,
maintenance and\n distribution of the Guix System Distribution and
GNU Guix."
+msgstr ""
+
+#: apps/base/templates/contribute.scm:79
+msgid "The source files for all the components of the project,\n
including software, web site, documentation, and artwork, are\n
available in <1>Git repositories</1> at Savannah. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:89
+msgid "Access Savannah"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:94
+msgid "Art"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:95
+msgid "We are always looking for artists to help us design and\n
improve user interfaces, and create multimedia material for\n
documentation, presentations, and promotional items. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:100
+msgid "The artwork used in the different components of the project\n
is available in the <1>guix-artwork</1> repository. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:116
+msgid "Documentation"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:117
+msgid "You can read the <1>project documentation</1> already available in the
system and in the website, and\n help us identify any errors or
omissions. Creating new\n manuals, tutorials, and blog entries will
also help users and\n developers discover what we do. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:125
+msgid "Helping improve the documentation of the <1>packaged software</1> is
another way to contribute. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:132
+msgid "Start writing"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:138
apps/packages/templates/detailed-index.scm:43
apps/packages/templates/index.scm:42
+msgid "Packages"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:139
+msgid "Hundreds of software, documentation, and assets need to be\n
packaged to make it easier for users to install their\n favorite
tools with the Guix package manager, and be\n productive using the
system. "
+msgstr ""
+
+#. TRANSLATORS: Packaging Guidelines is a section name in the
+#. English (en) manual.
+#: apps/base/templates/contribute.scm:147
+msgid "Information on how to add packages to the distribution can\n
be found <1>in the manual<1.1>en</1.1><1.2>Packaging-Guidelines.html</1.2></1>.
"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:157
+msgid "Check out the <1>package database</1> for a list of available packages,
and the <2>patch-tracking database</2> for a list of pending submissions."
+msgstr ""
+
+#: apps/base/templates/contribute.scm:168
+msgid "Send a new package"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:174
+msgid "Programming"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:175
+msgid "Source code is in the <1>main Git repository</1>. We use <2>GNU
Guile</2> as the main programming and extension language for the\n
components of the system. "
+msgstr ""
+
+#. TRANSLATORS: Contributing is a section name in the English
+#. (en) manual.
+#: apps/base/templates/contribute.scm:187
+msgid "You will find it useful to browse the <1>Guile manual</1> or other
<2>introductory material about Scheme</2>. Also, make sure to read the
<3>Contributing<3.1>en</3.1><3.2>Contributing.html</3.2></3> section of the
manual for more details on the development\n setup, as well as the
coding and cooperation conventions used\n in the project. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:205
+msgid "Send a patch"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:211
+msgid "System Administration"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:212
+msgid "Our system infrastructure makes it possible for all the\n
contributors to communicate and collaborate in the project,\n and
users to be able to download and install packages. Help\n us keep
the system up and running smoothly. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:218
+msgid "You can also <1>donate hardware or hosting</1> for our <2>build
farm</2>. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:233
+msgid "Test and Bug Reports"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:234
+msgid "Install the software and send feedback to the community\n
about your experience. Help the project by reporting bugs."
+msgstr ""
+
+#: apps/base/templates/contribute.scm:238
+msgid "Before reporting a bug, please check whether the bug is\n
already <1>in the bug database</1>. See <2>the developer information page</2>
for more information on how to manipulate bug reports. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:250
+msgid "Report a bug"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:256
+msgid "Translation"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:257
+msgid "You can help translate the <1>software</1>, the <2>package
descriptions</2>, and the <3>manual</3> into your language. See the
<4>Translation Project</4> for information on how you can help."
+msgstr ""
+
+#: apps/base/templates/contribute.scm:276
+msgid "<1>Software packages</1> provided by the system may have their own
translation\n tools. Visit their websites and help translate. "
+msgstr ""
+
+#: apps/base/templates/contribute.scm:283
+msgid "Start translating"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:287
+msgid "Other resources for contributors"
+msgstr ""
+
+#: apps/base/templates/contribute.scm:288
+msgid "Documents, supporting material of previous talks, and\n
auxiliary information useful to hackers and maintainers is\n available
at <1/>."
+msgstr ""
+
+#: apps/base/templates/donate.scm:17
+msgctxt "webpage title"
+msgid "Donate"
+msgstr ""
+
+#: apps/base/templates/donate.scm:19
+msgid "We are looking for donations of hardware and optionally\n hosting for
machines (they should be usable with exclusively\n free software)."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/donate.scm:24
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Donations"
+msgstr ""
+
+#: apps/base/templates/donate.scm:34
+msgid "Donate"
+msgstr ""
+
+#: apps/base/templates/donate.scm:36
+msgid "The <1>build farm</1> of the Guix System Distribution runs on donated
hardware and hosting. As the distribution grows (see the <2>package list</2>),
so do the computing and storage needs."
+msgstr ""
+
+#: apps/base/templates/donate.scm:47
+msgid "We have <1>started a fundraising campaign</1> to strengthen our build
farm, with <2>support from the Free Software Foundation (FSF)</2>. Please
consider helping out by making a donation on this\n FSF-hosted page:"
+msgstr ""
+
+#: apps/base/templates/donate.scm:63
+msgctxt "button"
+msgid "â„ DONATE!"
+msgstr ""
+
+#: apps/base/templates/donate.scm:66
+msgid "Hardware and Hosting"
+msgstr ""
+
+#: apps/base/templates/donate.scm:71
+msgid "We are also looking for donations of hardware and optionally\n
hosting for the following kinds of machines (they should be\n usable
with exclusively free software): "
+msgstr ""
+
+#: apps/base/templates/donate.scm:78
+msgid "x86_64 machines, with on the order of 1Â TiB of storage\n
and 4Â GiB of RAM;"
+msgstr ""
+
+#: apps/base/templates/donate.scm:81
+msgid "armv7 machines (such as the Novena) to more quickly test\n
and provide binaries for the armhf-linux port;"
+msgstr ""
+
+#: apps/base/templates/donate.scm:84
+msgid "mips64el machines to strengthen this port."
+msgstr ""
+
+#: apps/base/templates/donate.scm:87
+msgid "Please get in touch with us through the <1>usual channels</1> or using
the <2/> private alias to\n discuss any opportunities. "
+msgstr ""
+
+#: apps/base/templates/donate.scm:95
+msgid "Thanks to the donors!"
+msgstr ""
+
+#: apps/base/templates/donate.scm:100
+msgid "The table below summarizes hardware and hosting donations that\n
make the <1>build farm</1> for the Guix System Distribution a reality."
+msgstr ""
+
+#: apps/base/templates/donate.scm:110
+msgid "<1>machine</1><2>system</2><3>donors</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:114
+msgid "<1>hydra.gnu.org</1><2>build farm front-end</2><3>Free Software
Foundation</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:124
+msgid "<1>berlin.guixsd.org</1><2>build farm with 25 build nodes for
x86_64-linux and\ni686-linux, and dedicated storage</2><3><3.1>Max DelbrĂŒck
Center for Molecular Medicine</3.1> (hardware and hosting)</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:136
+msgid "<1>overdrive1.guixsd.org</1><2>aarch64-linux</2><3><3.1>ARM
Holdings</3.1></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:146
+msgid "<1>bayfront.guixsd.org</1><2>new build farm front-end
(WIP)</2><3>Igalia</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:158
+msgid "<1>hydra.gnunet.org</1><2>x86_64-linux, i686-linux</2><3><3.1>Free
Secure Network Systems Group</3.1> at the <3.2>Technische UniversitÀt
MĂŒnchen</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:171
+msgid "<1>chapters.gnu.org</1><2>x86_64-linux,
i686-linux</2><3><3.1><3.1.1>GNU España</3.1.1> (hardware)</3.1><3.2><3.2.1>FSFÂ
France</3.2.1> (hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:186
+msgid "<1>librenote</1><2>mips64el-linux</2><3><3.1>Daniel Clark
(hardware)</3.1><3.2>Mark H Weaver (hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:195
+msgid "<1>hydra-slave0</1><2>mips64el-linux</2><3>Free Software Foundation</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:205
+msgid "<1>guix.sjd.se</1><2>x86_64-linux, i686-linux</2><3>Simon Josefsson</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:215
+msgid "<1>x15.sjd.se</1><2>armhf-linux</2><3>Simon Josefsson</3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:225
+msgid "<1>hydra-slave1</1><2>armhf-linux</2><3><3.1>Steve Sprang
(hardware)</3.1><3.2>Mark H Weaver (hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:235
+msgid "<1>hydra-slave2</1><2>armhf-linux</2><3><3.1><3.1.1>Harmon
Instruments</3.1.1> (hardware)</3.1><3.2>Mark H Weaver (hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:248
+msgid "<1>hydra-slave3</1><2>armhf-linux</2><3><3.1><3.1.1>Kosagi (Sutajio
Ko-Usagi Pte Ltd)</3.1.1> (hardware)</3.1><3.2>Mark H Weaver
(hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/donate.scm:261
+msgid "<1>redhill</1><2>armhf-linux</2><3><3.1><3.1.1>Kosagi (Sutajio Ko-Usagi
Pte Ltd)</3.1.1> (hardware)</3.1><3.2>Andreas Enge (hosting)</3.2></3>"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:16
+msgctxt "webpage title"
+msgid "Graphics"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:18
+msgid "Information about images used for the graphical identity\n of GNUÂ
Guix and Guix System (formerly âGuixSDâ)."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/graphics.scm:22
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Donations|Branding|Logo"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:32
+msgid "Graphics"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:34
+msgid "For questions regarding the graphics listed in this page,\n
please contact <1>address@hidden</1>."
+msgstr ""
+
+#: apps/base/templates/graphics.scm:44
+msgid "GNU Guix logotype"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:45
+msgid "The standalone Guix, formerly known as the âGuix System\n
Distributionâ or GuixSD, had its own logo, which is now\n deprecated."
+msgstr ""
+
+#: apps/base/templates/graphics.scm:51
+msgid "The GNU Guix and GuixSD\n logotypes were designed by Luis
Felipe LĂłpez Acevedo\n (a.k.a. sirgazil). They are available under
the following\n terms:"
+msgstr ""
+
+#: apps/base/templates/graphics.scm:65
+msgid "The source files (SVG) for these logotypes, their variants, and\n
other artwork used in the different components of the GNU Guix\n
project are available in the <1>guix-artwork</1> repository, including the
previous GNU Guix logotype designed\n by Nikita Karetnikov in 2013 and
<2>superseded</2> by the golden GNU in 2016."
+msgstr ""
+
+#: apps/base/templates/irc.scm:17 apps/base/templates/irc.scm:30
+msgctxt "webpage title"
+msgid "IRC"
+msgstr ""
+
+#: apps/base/templates/irc.scm:20
+msgid "Internet relay chat."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/irc.scm:23
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|IRC|chat"
+msgstr ""
+
+#: apps/base/templates/irc.scm:35
+msgid "IRC"
+msgstr ""
+
+#: apps/base/templates/irc.scm:37
+msgid "Join the <1/> channel on the <2>Freenode IRC network</2> to chat with
the GNUÂ Guix community or to get help\n in real-time. You can use the
chat widget below, or just use\n the <3>IRC client</3> of your
preference. Note that the conversations that happen\n on the <4/>
channel are logged (<5>browse the log</5>)."
+msgstr ""
+
+#: apps/base/templates/menu.scm:16
+msgctxt "webpage title"
+msgid "Menu"
+msgstr ""
+
+#: apps/base/templates/menu.scm:17
+msgid "Website menu."
+msgstr ""
+
+#: apps/base/templates/menu.scm:24
+msgctxt "website menu"
+msgid "Menu"
+msgstr ""
+
+#: apps/base/templates/screenshot.scm:19
+msgctxt "webpage title"
+msgid "Screenshots"
+msgstr ""
+
+#: apps/base/templates/security.scm:19
+msgctxt "webpage title"
+msgid "Security"
+msgstr ""
+
+#: apps/base/templates/security.scm:21
+msgid "Important information about getting security updates\n for your GNUÂ
Guix installation, and instructions on how\n to report security issues."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/security.scm:26
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Security updates"
+msgstr ""
+
+#: apps/base/templates/security.scm:36
+msgid "Security"
+msgstr ""
+
+#: apps/base/templates/security.scm:38
+msgid "How to report security issues"
+msgstr ""
+
+#: apps/base/templates/security.scm:39
+msgid "To report sensitive security issues in Guix itself or the\n
packages it provides, you can write to the private mailing list <1/>. This
list is monitored by a\n small team of Guix developers."
+msgstr ""
+
+#: apps/base/templates/security.scm:46
+msgid "If you prefer to send your report using OpenPGP encrypted email,\n
please send it to one of the following Guix developers using their\n
respective OpenPGP key:"
+msgstr ""
+
+#: apps/base/templates/security.scm:65
+msgid "Release signatures"
+msgstr ""
+
+#: apps/base/templates/security.scm:66
+msgid "Releases of Guix are signed using the OpenPGP key with the fingerprint
<1/>. Users should
<2>verify<2.1>en</2.1><2.2>Binary-Installation.html</2.2></2> their downloads
before extracting or running them."
+msgstr ""
+
+#: apps/base/templates/security.scm:78
+msgid "Security updates"
+msgstr ""
+
+#: apps/base/templates/security.scm:79
+msgid "When security vulnerabilities are found in Guix or the packages
provided by Guix, we will provide <1>security
updates<1.1>en</1.1><1.2>Security-Updates.html</1.2></1> quickly and with
minimal disruption for users."
+msgstr ""
+
+#: apps/base/templates/security.scm:87
+msgid "Guix uses a ârolling releaseâ model. All security bug-fixes are pushed
directly to the master branch. There is no âstableâ branch that only receives
security fixes."
+msgstr ""
+
+#: apps/download/data.scm:20 apps/download/data.scm:20
+msgctxt "download page title"
+msgid "GNUÂ Guix System <1/>"
+msgstr ""
+
+#: apps/download/data.scm:23 apps/download/data.scm:23
+msgid "USB/DVD ISO installer of the standalone Guix System."
+msgstr ""
+
+#. TRANSLATORS: System installation is a section name in the
+#. English (en) manual.
+#. TRANSLATORS: System installation is a section name in the
+#. English (en) manual.
+#: apps/download/data.scm:31 apps/download/data.scm:31
+msgid "<1>en</1>System-Installation.html"
+msgstr ""
+
+#: apps/download/data.scm:35 apps/download/data.scm:35
+msgctxt "download page title"
+msgid "GNUÂ Guix <1/> QEMU Image"
+msgstr ""
+
+#: apps/download/data.scm:38 apps/download/data.scm:38
+msgid "QCOW2 virtual machine (VM) image."
+msgstr ""
+
+#. TRANSLATORS: Running Guix in a VM is a section name in the
+#. English (en) manual.
+#. TRANSLATORS: Running Guix in a VM is a section name in the
+#. English (en) manual.
+#: apps/download/data.scm:45 apps/download/data.scm:45
+msgid "<1>en</1>Running-Guix-in-a-VM.html"
+msgstr ""
+
+#: apps/download/data.scm:49 apps/download/data.scm:49
+msgctxt "download page title"
+msgid "GNUÂ Guix <1/> Binary"
+msgstr ""
+
+#: apps/download/data.scm:51 apps/download/data.scm:51
+msgid "Self-contained tarball providing binaries for Guix and its\n
dependencies, to be installed on top of your Linux-based system."
+msgstr ""
+
+#. TRANSLATORS: Binary Installation is a section name in the
+#. English (en) manual.
+#. TRANSLATORS: Binary Installation is a section name in the
+#. English (en) manual.
+#: apps/download/data.scm:64 apps/download/data.scm:64
+msgid "<1>en</1>Binary-Installation.html"
+msgstr ""
+
+#: apps/download/data.scm:68 apps/download/data.scm:68
+msgctxt "download page title"
+msgid "GNUÂ Guix <1/> Source"
+msgstr ""
+
+#: apps/download/data.scm:69 apps/download/data.scm:69
+msgid "Source code distribution."
+msgstr ""
+
+#. TRANSLATORS: Requirements is a section name in the English (en)
+#. manual.
+#. TRANSLATORS: Requirements is a section name in the English (en)
+#. manual.
+#: apps/download/data.scm:76 apps/download/data.scm:76
+msgid "<1>en</1>Requirements.html"
+msgstr ""
+
+#: apps/download/templates/components.scm:25
apps/download/templates/components.scm:25
+msgid "Download options:"
+msgstr ""
+
+#: apps/download/templates/components.scm:38
apps/download/templates/components.scm:38
+msgid "Signatures: "
+msgstr ""
+
+#: apps/download/templates/components.scm:50
apps/download/templates/components.scm:50
+msgid "<1>Installation instructions</1>."
+msgstr ""
+
+#: apps/download/templates/download.scm:33
apps/download/templates/download.scm:33
+msgctxt "webpage title"
+msgid "Download"
+msgstr ""
+
+#: apps/download/templates/download.scm:35
apps/download/templates/download.scm:35
+msgid "Installers and source files for GNUÂ Guix. GNUÂ Guix can be\n
installed on different GNU/Linux distributions."
+msgstr ""
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/download/templates/download.scm:39
apps/download/templates/download.scm:39
+msgid "GNU|Linux|Unix|Free software|Libre software|Operating system|GNU
Hurd|GNU Guix package manager|Installer|Source code|Package manager"
+msgstr ""
+
+#: apps/download/templates/download.scm:51
apps/download/templates/download.scm:51
+msgid "Download"
+msgstr ""
+
+#: apps/download/templates/download.scm:53
apps/download/templates/download.scm:53
+msgid "As of version <1/>, the standalone Guix System <2>can be installed</2>
on an i686, x86_64, ARMv7, or AArch64 machine. It uses the <3>Linux-Libre</3>
kernel and the <4>GNU Shepherd</4> init system. Alternately, GNUÂ Guix\n
can be installed as an additional package manager on top of an\n
installed Linux-based system."
+msgstr ""
+
+#: apps/download/templates/download.scm:73
apps/download/templates/download.scm:73
+msgid "Source code and binaries for the Guix System distribution ISO\n
image as well as GNU Guix can be found on the GNU servers at <1/>. Older
releases can still be found on <2/>."
+msgstr ""
+
+#: apps/blog/templates/components.scm:33 apps/blog/templates/post.scm:46
+msgctxt "SRFI-19 date->string format"
+msgid "~B ~e, ~Y"
+msgstr ""
+
+#: apps/blog/templates/components.scm:37
+msgctxt "blog post summary ellipsis"
+msgid "âŠ"
+msgstr ""
+
+#: apps/blog/templates/components.scm:48
+msgid "Blog menu: "
+msgstr ""
+
+#: apps/blog/templates/components.scm:53
+msgid "Get topic updates"
+msgstr ""
+
+#: apps/blog/templates/components.scm:54
+msgid "Get blog updates"
+msgstr ""
+
+#: apps/blog/templates/components.scm:66
+msgctxt "button"
+msgid "Atom feed"
+msgstr ""
+
+#: apps/blog/templates/components.scm:68
+msgid "Posts by topic"
+msgstr ""
+
+#: apps/blog/templates/feed.scm:32
+msgctxt "feed author name"
+msgid "GNUÂ Guix"
+msgstr ""
+
+#: apps/blog/templates/post-list.scm:23 apps/blog/templates/post-list.scm:40
apps/blog/templates/tag.scm:25 apps/blog/templates/tag.scm:45
apps/packages/templates/detailed-package-list.scm:24
apps/packages/templates/detailed-package-list.scm:47
apps/packages/templates/package-list.scm:24
apps/packages/templates/package-list.scm:44
+msgid "Page <1/>"
+msgstr ""
+
+#: apps/blog/templates/post-list.scm:24 apps/blog/templates/post.scm:25
apps/blog/templates/tag.scm:26
+msgctxt "webpage title"
+msgid "Blog"
+msgstr ""
+
+#: apps/blog/templates/post-list.scm:26 apps/blog/templates/post.scm:27
+msgid "Blog posts about GNUÂ Guix."
+msgstr ""
+
+#: apps/blog/templates/post.scm:52
+msgid "Related topics:"
+msgstr ""
+
+#: apps/blog/templates/tag.scm:28
+msgid "Blog posts about <1/> on GNUÂ Guix."
+msgstr ""
+
+#: apps/blog/templates/tag.scm:54
+msgid "Blog â "
+msgstr ""
+
+#: apps/packages/templates/components.scm:59
apps/packages/templates/package.scm:56
+msgid "This is a GNU package. "
+msgstr ""
+
+#: apps/packages/templates/components.scm:66
+msgid "<1>License:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:70
+msgid "<1>Website:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:74
+msgid "<1>Package source:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:78
+msgid "<1>Patches:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:82
+msgid "<1>Lint issues:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:89
+msgid "<1>Builds:</1> <2/>."
+msgstr ""
+
+#: apps/packages/templates/components.scm:104
+msgid " issue"
+msgid_plural " issues"
+msgstr[0] ""
+msgstr[1] ""
+
+#: apps/packages/templates/components.scm:115
apps/packages/templates/components.scm:221
+msgid "Packages menu: "
+msgstr ""
+
+#: apps/packages/templates/components.scm:117
apps/packages/templates/components.scm:223
+msgid "Browse alphabetically"
+msgstr ""
+
+#: apps/packages/templates/components.scm:204
apps/packages/templates/components.scm:270
+msgid "None"
+msgstr ""
+
+#: apps/packages/templates/detailed-index.scm:22
apps/packages/templates/detailed-package-list.scm:25
apps/packages/templates/index.scm:22
apps/packages/templates/package-list.scm:25
apps/packages/templates/package.scm:28
+msgctxt "webpage title"
+msgid "Packages"
+msgstr ""
+
+#: apps/packages/templates/detailed-index.scm:24
apps/packages/templates/detailed-package-list.scm:27
apps/packages/templates/index.scm:24
+msgid "List of packages available through GNUÂ Guix."
+msgstr ""
+
+#: apps/packages/templates/detailed-index.scm:45
apps/packages/templates/index.scm:44
+msgid "GNU Guix provides <1/> packages transparently <2>available as pre-built
binaries</2>. These pages provide a complete list of the packages. Our
<3>continuous integration system</3> shows their current build status (updated
<4/>)."
+msgstr ""
+
+#: apps/packages/templates/detailed-package-list.scm:56
apps/packages/templates/package-list.scm:53
+msgid "Packages â "
+msgstr ""
+
+#: apps/packages/templates/package.scm:62
+msgid "<1>Website: </1>"
+msgstr ""
+
+#: apps/packages/templates/package.scm:65
+msgid "<1>License: </1>"
+msgstr ""
+
+#: apps/packages/templates/package.scm:67
+msgid "<1>Package source: </1>"
+msgstr ""
+
+#: apps/packages/templates/package.scm:69
+msgid "<1>Patches: </1>"
+msgstr ""
+
+#: apps/packages/templates/package.scm:71
+msgid "<1>Builds: </1>"
+msgstr ""
+
+#: apps/packages/templates/package.scm:77
+msgid "<1>Lint issues</1><2><2.1/>. See <2.2>package definition</2.2> in Guix
source code.</2>"
+msgstr ""
- branch wip-i18n created (now ff04cd3), Ludovic Courtès, 2019/09/25
- 01/08: website: Use needed modules in posts., Ludovic Courtès, 2019/09/25
- 02/08: website: Fix typing mistake., Ludovic Courtès, 2019/09/25
- 03/08: website: Fix typo., Ludovic Courtès, 2019/09/25
- 08/08: website: Add language selection dropdown to navbar., Ludovic Courtès, 2019/09/25
- 07/08: website: Make dropdowns accessible to keyboard and touch input., Ludovic Courtès, 2019/09/25
- 04/08: website: Add custom xgettext to extract from nested sexps for i18n., Ludovic Courtès, 2019/09/25
- 06/08: website: Add German translation., Ludovic Courtès, 2019/09/25
- 05/08: website: Mark all files in apps for translation.,
Ludovic Courtès <=