Common Lisp Package: COM.INFORMATIMAGO.COMMON-LISP.CESARUM.ISO639A

This package exports functions and data to process iso639a language codes. License: AGPL3 Copyright Pascal J. Bourguignon 2003 - 2012 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>

README:

FUNCTION

Public

GET-LANGUAGES (&KEY (GROUP-PER-FAMILY NIL) (ORDER NIL))

RETURN: If group-per-family is true, then a list of ( family (name code)* ) else a list of ( name code family ). In both cases, the list(s) of languages are ordered as indicated by the order list, which may contain any combination of: :NAME :CODE :FAMILY.

Private

NCAPITALIZE (TREE)

DO: Replace in place in TREE all occurence of a string or a symbol of length>2 by a string-capitalize'd copy.

SPLIT-GROUPS (LIST CUT-INDICATOR)

RETURN: A list of sublists of LIST, split where the CUT-INDICATOR function indicated. LIST: A list. CUT-INDICATOR: A function of two successive elements of the list, indicating whether the list must be split between the two elements.

Undocumented

GET-FIELD (RECORD ORDER-CODE)

MAKE-COMPARE (ORDER)

VARIABLE

Private

+LANGUAGES+

A list of language records: ( name code family ).