mirror of
https://github.com/smarty-php/smarty.git
synced 2025-10-07 17:54:38 +02:00
445 lines
15 KiB
Plaintext
Executable File
445 lines
15 KiB
Plaintext
Executable File
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
|
<!ENTITY % eu.words
|
|
PUBLIC "-//Norman Walsh//ENTITIES DocBook Stylesheet Localization//EU"
|
|
"dbl1eu.ent">
|
|
%eu.words;
|
|
]>
|
|
|
|
<style-sheet>
|
|
<style-specification id="docbook-l10n-eu">
|
|
<style-specification-body>
|
|
|
|
;; $Id$
|
|
;;
|
|
;; This file is part of the Modular DocBook Stylesheet distribution.
|
|
;; See ../README or http://nwalsh.com/docbook/dsssl/
|
|
;;
|
|
|
|
;; ----------------------------- Localization -----------------------------
|
|
|
|
;; If you create a new version of this file, please send it to
|
|
;; Norman Walsh, ndw@nwalsh.com
|
|
|
|
;; The generated text for cross references to elements. See dblink.dsl
|
|
;; for a discussion of how substitution is performed on the %x
|
|
;; keywords.
|
|
;;
|
|
|
|
(define (eu-author-string #!optional (author (current-node)))
|
|
;; Return a formatted string representation of the contents of:
|
|
;; AUTHOR:
|
|
;; Handles Honorific, FirstName, SurName, and Lineage.
|
|
;; If %author-othername-in-middle% is #t, also OtherName
|
|
;; Handles *only* the first of each.
|
|
;; Format is "Honorific. FirstName [OtherName] SurName, Lineage"
|
|
;; CORPAUTHOR:
|
|
;; returns (data corpauthor)
|
|
(let* ((h_nl (select-elements (descendants author) (normalize "honorific")))
|
|
(f_nl (select-elements (descendants author) (normalize "firstname")))
|
|
(o_nl (select-elements (descendants author) (normalize "othername")))
|
|
(s_nl (select-elements (descendants author) (normalize "surname")))
|
|
(l_nl (select-elements (descendants author) (normalize "lineage")))
|
|
(has_h (not (node-list-empty? h_nl)))
|
|
(has_f (not (node-list-empty? f_nl)))
|
|
(has_o (and %author-othername-in-middle%
|
|
(not (node-list-empty? o_nl))))
|
|
(has_s (not (node-list-empty? s_nl)))
|
|
(has_l (not (node-list-empty? l_nl))))
|
|
(if (or (equal? (gi author) (normalize "author"))
|
|
(equal? (gi author) (normalize "editor"))
|
|
(equal? (gi author) (normalize "othercredit")))
|
|
(string-append
|
|
(if has_h (string-append (data-of (node-list-first h_nl))
|
|
%honorific-punctuation%) "")
|
|
(if has_f (string-append
|
|
(if has_h " " "")
|
|
(data-of (node-list-first f_nl))) "")
|
|
(if has_o (string-append
|
|
(if (or has_h has_f) " " "")
|
|
(data-of (node-list-first o_nl))) "")
|
|
(if has_s (string-append
|
|
(if (or has_h has_f has_o) " " "")
|
|
(data-of (node-list-first s_nl))) "")
|
|
(if has_l (string-append ", " (data-of (node-list-first l_nl))) ""))
|
|
(data-of author))))
|
|
|
|
(define (eu-xref-strings)
|
|
(list (list (normalize "appendix") (if %chapter-autolabel%
|
|
"&Appendix; %n"
|
|
"the &appendix; called %t"))
|
|
(list (normalize "article") (string-append %gentext-eu-start-quote%
|
|
"%t"
|
|
%gentext-eu-end-quote%))
|
|
(list (normalize "bibliography") "%t")
|
|
(list (normalize "book") "%t")
|
|
(list (normalize "chapter") (if %chapter-autolabel%
|
|
"&Chapter; %n"
|
|
"the &chapter; called %t"))
|
|
(list (normalize "equation") "&Equation; %n")
|
|
(list (normalize "example") "&Example; %n")
|
|
(list (normalize "figure") "&Figure; %n")
|
|
(list (normalize "glossary") "%t")
|
|
(list (normalize "index") "%t")
|
|
(list (normalize "listitem") "%n")
|
|
(list (normalize "part") "&Part; %n")
|
|
(list (normalize "preface") "%t")
|
|
(list (normalize "procedure") "&Procedure; %n, %t")
|
|
(list (normalize "reference") "&Reference; %n, %t")
|
|
(list (normalize "section") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sect1") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sect2") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sect3") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sect4") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sect5") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "simplesect") (if %section-autolabel%
|
|
"&Section; %n"
|
|
"the §ion; called %t"))
|
|
(list (normalize "sidebar") "the &sidebar; %t")
|
|
(list (normalize "step") "&step; %n")
|
|
(list (normalize "table") "&Table; %n")))
|
|
|
|
(define (gentext-eu-xref-strings gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(xref (assoc name (eu-xref-strings))))
|
|
(if xref
|
|
(car (cdr xref))
|
|
(let* ((msg (string-append "[&xrefto; "
|
|
(if giname giname "&nonexistantelement;")
|
|
" &unsupported;]"))
|
|
(err (node-list-error msg (current-node))))
|
|
msg))))
|
|
|
|
(define (eu-auto-xref-indirect-connector before)
|
|
;; In English, the (cond) is unnecessary since the word is always the
|
|
;; same, but in other languages, that's not the case. I've set this
|
|
;; one up with the (cond) so it stands as an example.
|
|
(cond
|
|
((equal? (gi before) (normalize "book"))
|
|
(literal " ∈ "))
|
|
((equal? (gi before) (normalize "chapter"))
|
|
(literal " ∈ "))
|
|
((equal? (gi before) (normalize "sect1"))
|
|
(literal " ∈ "))
|
|
(else
|
|
(literal " ∈ "))))
|
|
|
|
;; Should the TOC come first or last?
|
|
;;
|
|
(define %generate-eu-toc-in-front% #t)
|
|
|
|
;; gentext-element-name returns the generated text that should be
|
|
;; used to make reference to the selected element.
|
|
;;
|
|
|
|
(define (eu-element-name)
|
|
(list
|
|
(list (normalize "abstract") "&Abstract;")
|
|
(list (normalize "answer") "&Answer;")
|
|
(list (normalize "appendix") "&Appendix;")
|
|
(list (normalize "article") "&Article;")
|
|
(list (normalize "bibliography") "&Bibliography;")
|
|
(list (normalize "book") "&Book;")
|
|
(list (normalize "calloutlist") "")
|
|
(list (normalize "caution") "&Caution;")
|
|
(list (normalize "chapter") "&Chapter;")
|
|
(list (normalize "copyright") "&Copyright;")
|
|
(list (normalize "dedication") "&Dedication;")
|
|
(list (normalize "edition") "&Edition;")
|
|
(list (normalize "equation") "&Equation;")
|
|
(list (normalize "example") "&Example;")
|
|
(list (normalize "figure") "&Figure;")
|
|
(list (normalize "glossary") "&Glossary;")
|
|
(list (normalize "glosssee") "&GlossSee;")
|
|
(list (normalize "glossseealso") "&GlossSeeAlso;")
|
|
(list (normalize "important") "&Important;")
|
|
(list (normalize "index") "&Index;")
|
|
(list (normalize "colophon") "&Colophon;")
|
|
(list (normalize "setindex") "&SetIndex;")
|
|
(list (normalize "isbn") "&isbn;")
|
|
(list (normalize "legalnotice") "&LegalNotice;")
|
|
(list (normalize "msgaud") "&MsgAud;")
|
|
(list (normalize "msglevel") "&MsgLevel;")
|
|
(list (normalize "msgorig") "&MsgOrig;")
|
|
(list (normalize "note") "&Note;")
|
|
(list (normalize "part") "&Part;")
|
|
(list (normalize "preface") "&Preface;")
|
|
(list (normalize "procedure") "&Procedure;")
|
|
(list (normalize "pubdate") "&Published;")
|
|
(list (normalize "question") "&Question;")
|
|
(list (normalize "refentry") "&RefEntry;")
|
|
(list (normalize "reference") "&Reference;")
|
|
(list (normalize "refname") "&RefName;")
|
|
(list (normalize "revhistory") "&RevHistory;")
|
|
(list (normalize "refsect1") "&RefSection;")
|
|
(list (normalize "refsect2") "&RefSection;")
|
|
(list (normalize "refsect3") "&RefSection;")
|
|
(list (normalize "refsynopsisdiv") "&RefSynopsisDiv;")
|
|
(list (normalize "revision") "&Revision;")
|
|
(list (normalize "sect1") "&Section;")
|
|
(list (normalize "sect2") "&Section;")
|
|
(list (normalize "sect3") "&Section;")
|
|
(list (normalize "sect4") "&Section;")
|
|
(list (normalize "sect5") "&Section;")
|
|
(list (normalize "section") "&Section;")
|
|
(list (normalize "simplesect") "&Section;")
|
|
(list (normalize "seeie") "&See;")
|
|
(list (normalize "seealsoie") "&Seealso;")
|
|
(list (normalize "set") "&Set;")
|
|
(list (normalize "sidebar") "&Sidebar;")
|
|
(list (normalize "step") "&step;")
|
|
(list (normalize "table") "&Table;")
|
|
(list (normalize "tip") "&Tip;")
|
|
(list (normalize "toc") "&TableofContents;")
|
|
(list (normalize "warning") "&Warning;")
|
|
))
|
|
|
|
(define (gentext-eu-element-name gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(pname (assoc name (eu-element-name))))
|
|
(if pname
|
|
(car (cdr pname))
|
|
(let* ((msg (string-append
|
|
"gentext-eu-element-name: &unexpectedelementname;: "
|
|
name))
|
|
(err (node-list-error msg (current-node))))
|
|
msg))))
|
|
|
|
;; gentext-element-name-space returns gentext-element-name with a
|
|
;; trailing space, if gentext-element-name isn't "".
|
|
;;
|
|
(define (gentext-eu-element-name-space giname)
|
|
(string-with-space (gentext-element-name giname)))
|
|
|
|
;; gentext-intra-label-sep returns the seperator to be inserted
|
|
;; between multiple occurances of a label (or parts of a label)
|
|
;; for the specified element. Most of these are for enumerated
|
|
;; labels like "Figure 2-4", but this function is used elsewhere
|
|
;; (e.g. REFNAME) with a little abuse.
|
|
;;
|
|
|
|
(define (local-eu-intra-label-sep)
|
|
(list))
|
|
|
|
(define (eu-intra-label-sep)
|
|
(list
|
|
(list (normalize "equation") "-")
|
|
(list (normalize "informalequation") "-")
|
|
(list (normalize "example") "-")
|
|
(list (normalize "figure") "-")
|
|
(list (normalize "listitem") ".")
|
|
(list (normalize "procedure") ".")
|
|
(list (normalize "refentry") ".")
|
|
(list (normalize "reference") ".")
|
|
(list (normalize "refname") ", ")
|
|
(list (normalize "refsect1") ".")
|
|
(list (normalize "refsect2") ".")
|
|
(list (normalize "refsect3") ".")
|
|
(list (normalize "sect1") ".")
|
|
(list (normalize "sect2") ".")
|
|
(list (normalize "sect3") ".")
|
|
(list (normalize "sect4") ".")
|
|
(list (normalize "sect5") ".")
|
|
(list (normalize "section") ".")
|
|
(list (normalize "simplesect") ".")
|
|
(list (normalize "step") ".")
|
|
(list (normalize "table") "-")
|
|
(list (normalize "_pagenumber") "-")
|
|
))
|
|
|
|
(define (gentext-eu-intra-label-sep gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(lsep (assoc name (local-eu-intra-label-sep)))
|
|
(sep (assoc name (eu-intra-label-sep))))
|
|
(if lsep
|
|
(car (cdr lsep))
|
|
(if sep
|
|
(car (cdr sep))
|
|
""))))
|
|
|
|
;; gentext-label-title-sep returns the seperator to be inserted
|
|
;; between a label and the text following the label for the
|
|
;; specified element. Most of these are for use between
|
|
;; enumerated labels and titles like "1. Chapter One Title", but
|
|
;; this function is used elsewhere (e.g. NOTE) with a little
|
|
;; abuse.
|
|
;;
|
|
|
|
(define (local-eu-label-title-sep)
|
|
(list))
|
|
|
|
(define (eu-label-title-sep)
|
|
(list
|
|
(list (normalize "abstract") ": ")
|
|
(list (normalize "answer") " ")
|
|
(list (normalize "appendix") ". ")
|
|
(list (normalize "caution") "")
|
|
(list (normalize "chapter") ". ")
|
|
(list (normalize "equation") ". ")
|
|
(list (normalize "example") ". ")
|
|
(list (normalize "figure") ". ")
|
|
(list (normalize "footnote") ". ")
|
|
(list (normalize "glosssee") ": ")
|
|
(list (normalize "glossseealso") ": ")
|
|
(list (normalize "important") ": ")
|
|
(list (normalize "note") ": ")
|
|
(list (normalize "orderedlist") ". ")
|
|
(list (normalize "part") ". ")
|
|
(list (normalize "procedure") ". ")
|
|
(list (normalize "prefix") ". ")
|
|
(list (normalize "question") " ")
|
|
(list (normalize "refentry") "")
|
|
(list (normalize "reference") ". ")
|
|
(list (normalize "refsect1") ". ")
|
|
(list (normalize "refsect2") ". ")
|
|
(list (normalize "refsect3") ". ")
|
|
(list (normalize "sect1") ". ")
|
|
(list (normalize "sect2") ". ")
|
|
(list (normalize "sect3") ". ")
|
|
(list (normalize "sect4") ". ")
|
|
(list (normalize "sect5") ". ")
|
|
(list (normalize "section") ". ")
|
|
(list (normalize "simplesect") ". ")
|
|
(list (normalize "seeie") " ")
|
|
(list (normalize "seealsoie") " ")
|
|
(list (normalize "step") ". ")
|
|
(list (normalize "table") ". ")
|
|
(list (normalize "tip") ": ")
|
|
(list (normalize "warning") "")
|
|
))
|
|
|
|
(define (gentext-eu-label-title-sep gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(lsep (assoc name (local-eu-label-title-sep)))
|
|
(sep (assoc name (eu-label-title-sep))))
|
|
(if lsep
|
|
(car (cdr lsep))
|
|
(if sep
|
|
(car (cdr sep))
|
|
""))))
|
|
|
|
(define (eu-label-number-format-list)
|
|
(list
|
|
(list (normalize "set") "1")
|
|
(list (normalize "book") "1")
|
|
(list (normalize "prefix") "1")
|
|
(list (normalize "part") "I")
|
|
(list (normalize "chapter") "1")
|
|
(list (normalize "appendix") "A")
|
|
(list (normalize "reference") "I")
|
|
(list (normalize "example") "1")
|
|
(list (normalize "figure") "1")
|
|
(list (normalize "table") "1")
|
|
(list (normalize "procedure") "1")
|
|
(list (normalize "step") "1")
|
|
(list (normalize "refsect1") "1")
|
|
(list (normalize "refsect2") "1")
|
|
(list (normalize "refsect3") "1")
|
|
(list (normalize "sect1") "1")
|
|
(list (normalize "sect2") "1")
|
|
(list (normalize "sect3") "1")
|
|
(list (normalize "sect4") "1")
|
|
(list (normalize "sect5") "1")
|
|
(list (normalize "section") "1")
|
|
))
|
|
|
|
(define (eu-label-number-format gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(format (assoc name (eu-label-number-format-list))))
|
|
(if format
|
|
(car (cdr format))
|
|
"1")))
|
|
|
|
(define (eu-lot-title)
|
|
(list
|
|
(list (normalize "table") "&ListofTables;")
|
|
(list (normalize "example") "&ListofExamples;")
|
|
(list (normalize "figure") "&ListofFigures;")
|
|
(list (normalize "equation") "&ListofEquations;")
|
|
))
|
|
|
|
(define ($lot-title-eu$ gind)
|
|
(let* ((giname (if (string? gind) gind (gi gind)))
|
|
(name (normalize giname))
|
|
(title (assoc name (eu-lot-title))))
|
|
(if title
|
|
(car (cdr title))
|
|
(let* ((msg (string-append "&ListofUnknown;: " name))
|
|
(err (node-list-error msg (current-node))))
|
|
msg))))
|
|
|
|
(define %gentext-eu-start-quote% (dingbat "ldquo"))
|
|
|
|
(define %gentext-eu-end-quote% (dingbat "rdquo"))
|
|
|
|
(define %gentext-eu-start-nested-quote% (dingbat "lsquo"))
|
|
|
|
(define %gentext-eu-end-nested-quote% (dingbat "rsquo"))
|
|
|
|
(define %gentext-eu-by% "&by;") ;; e.g. Copyright 1997 "by" A. Nonymous
|
|
;; Authored "by" Jane Doe
|
|
|
|
(define %gentext-eu-edited-by% "&Editedby;")
|
|
;; "Edited by" Jane Doe
|
|
|
|
(define %gentext-eu-revised-by% "&Revisedby;")
|
|
;; "Revised by" Jane Doe
|
|
|
|
(define %gentext-eu-page% "")
|
|
|
|
(define %gentext-eu-and% "∧")
|
|
|
|
(define %gentext-eu-listcomma% "&listcomma;")
|
|
|
|
(define %gentext-eu-lastlistcomma% "&lastlistcomma;")
|
|
|
|
(define %gentext-eu-bibl-pages% "&Pgs;")
|
|
|
|
(define %gentext-eu-endnotes% "&Notes;")
|
|
|
|
(define %gentext-eu-table-endnotes% "&TableNotes;:")
|
|
|
|
(define %gentext-eu-index-see% "&See;")
|
|
|
|
(define %gentext-eu-index-seealso% "&SeeAlso;")
|
|
|
|
|
|
(define (gentext-eu-nav-prev prev)
|
|
(make sequence (literal "&nav-prev;")))
|
|
|
|
(define (gentext-eu-nav-prev-sibling prevsib)
|
|
(make sequence (literal "&nav-prev-sibling;")))
|
|
|
|
(define (gentext-eu-nav-next-sibling nextsib)
|
|
(make sequence (literal "&nav-next-sibling;")))
|
|
|
|
(define (gentext-eu-nav-next next)
|
|
(make sequence (literal "&nav-next;")))
|
|
|
|
(define (gentext-eu-nav-up up)
|
|
(make sequence (literal "&nav-up;")))
|
|
|
|
(define (gentext-eu-nav-home home)
|
|
(make sequence (literal "&nav-home;")))
|
|
|
|
|
|
</style-specification-body>
|
|
</style-specification>
|
|
</style-sheet>
|