Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DINIT011

DINIT011.m

Go to the documentation of this file.
  1. DINIT011 ;SFISC/TKW,VEN/SMH-DIALOG & LANGUAGE FILE INITS ;07JAN2016
  1. ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
  1. ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
  1. ;;Licensed under the terms of the Apache License, Version 2.0.
  1. ;
  1. F I=1:2 S X=$T(Q+I) Q:X'["^" S Y=$E($T(Q+I+1),4,999),X=$E(X,4,999) S:$A(Y)=126 I=I+1,Y=$E(Y,2,999)_$E($T(Q+I+1),5,99) S:$A(Y)=61 Y=$E(Y,2,999) S @X=Y
  1. Q Q
  1. ;;^DIC(.85,0,"GL")
  1. ;;=^DI(.85,
  1. ;;^DIC("B","LANGUAGE",.85)
  1. ;;=
  1. ;;^DIC(.85,"%",0)
  1. ;;=^1.005
  1. ;;^DIC(.85,"%D",0)
  1. ;;=^^13^13^3160102^
  1. ;;^DIC(.85,"%D",1,0)
  1. ;;=The LANGUAGE file is used both to officially identify a language, and to
  1. ;;^DIC(.85,"%D",2,0)
  1. ;;=store MUMPS code needed to do language-specific conversions of data such
  1. ;;^DIC(.85,"%D",3,0)
  1. ;;=as dates and numbers.
  1. ;;^DIC(.85,"%D",4,0)
  1. ;;=
  1. ;;^DIC(.85,"%D",5,0)
  1. ;;=The KIDS build for FileMan 22.2 contains all languages in ISO 639-2:1998(as revised 11/21/2012).
  1. ;;^DIC(.85,"%D",6,0)
  1. ;;=When installed without the KIDS build, FileMan 22.2 installs 11 languages.
  1. ;;^DIC(.85,"%D",7,0)
  1. ;;=
  1. ;;^DIC(.85,"%D",8,0)
  1. ;;=A pointer to this file from the TRANSLATION multiple on the DIALOG file
  1. ;;^DIC(.85,"%D",9,0)
  1. ;;=also allows non-English text to be returned via FileMan calls.
  1. ;;^DIC(.85,"%D",10,0)
  1. ;;=
  1. ;;^DIC(.85,"%D",11,0)
  1. ;;=A note to VISTA developers: Although users can select entries by name,
  1. ;;^DIC(.85,"%D",12,0)
  1. ;;=software should use the official two or three letter codes to eliminate
  1. ;;^DIC(.85,"%D",13,0)
  1. ;;=mistakes resulting from languages that have similar spelling.
  1. ;;^DIC(.85,"%MSC")
  1. ;;=3121114.111954
  1. ;;^DD(.85,0)
  1. ;;=FIELD^^10^20
  1. ;;^DD(.85,0,"DDA")
  1. ;;=N
  1. ;;^DD(.85,0,"DT")
  1. ;;=3121101
  1. ;;^DD(.85,0,"ID",.02)
  1. ;;=W " ",$P(^(0),U,2)
  1. ;;^DD(.85,0,"ID",.03)
  1. ;;=W " ",$P(^(0),U,3)
  1. ;;^DD(.85,0,"IX","F",.8501,.01)
  1. ;;=
  1. ;;^DD(.85,0,"NM","LANGUAGE")
  1. ;;=
  1. ;;^DD(.85,0,"PT",.007,.001)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.008,.001)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.009,.001)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.4,709.1)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.4,1819.1)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.847,.01)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.85,.08)
  1. ;;=
  1. ;;^DD(.85,0,"PT",.85,.09)
  1. ;;=
  1. ;;^DD(.85,0,"PT",1.008,.001)
  1. ;;=
  1. ;;^DD(.85,0,"PT",200,200.07)
  1. ;;=
  1. ;;^DD(.85,0,"PT",8989.3,207)
  1. ;;=
  1. ;;^DD(.85,.001,0)
  1. ;;=ID NUMBER^NJ10,0^^ ^K:+X'=X!(X>9999999999)!(X<1)!(X?.E1"."1.N) X
  1. ;;^DD(.85,.001,3)
  1. ;;=Type a number between 1 and 9999999999, 0 decimal digits.
  1. ;;^DD(.85,.001,21,0)
  1. ;;=^^3^3^3121031^^
  1. ;;^DD(.85,.001,21,1,0)
  1. ;;=A number that is used to uniquely identify a language. This number
  1. ;;^DD(.85,.001,21,2,0)
  1. ;;=corresponds to the Kernel system variable DUZ("LANG"), which is set
  1. ;;^DD(.85,.001,21,3,0)
  1. ;;=during Kernel signon to signify which language Fileman should use.
  1. ;;^DD(.85,.001,23,0)
  1. ;;=^^31^31^3121031^
  1. ;;^DD(.85,.001,23,1,0)
  1. ;;=Entries in this file are standardized, with the contents controlled by
  1. ;;^DD(.85,.001,23,2,0)
  1. ;;=the Fileman Primary Development Team. The ID Number field is used to help
  1. ;;^DD(.85,.001,23,3,0)
  1. ;;=protect referential integrity in VISTA databases during upgrades to the
  1. ;;^DD(.85,.001,23,4,0)
  1. ;;=file. ID Number assignment corresponds to the order in which languages
  1. ;;^DD(.85,.001,23,5,0)
  1. ;;=were added to the file. They were added in segments.
  1. ;;^DD(.85,.001,23,6,0)
  1. ;;=
  1. ;;^DD(.85,.001,23,7,0)
  1. ;;=The first segment consists of language numbers 1-7, 10-12, and 18, which
  1. ;;^DD(.85,.001,23,8,0)
  1. ;;=were the first eleven languages added, in order. English is first because
  1. ;;^DD(.85,.001,23,9,0)
  1. ;;=Fileman was originally written in English. German is second because
  1. ;;^DD(.85,.001,23,10,0)
  1. ;;=Marcus Werners of Germany led the effort to create Fileman's dialog
  1. ;;^DD(.85,.001,23,11,0)
  1. ;;=framework, to make translating VISTA into other languages easier.
  1. ;;^DD(.85,.001,23,12,0)
  1. ;;=Spanish, French, Finnish, Italian, and Portuguese follow in the order in
  1. ;;^DD(.85,.001,23,13,0)
  1. ;;=which the Fileman team was approached by potential translators about
  1. ;;^DD(.85,.001,23,14,0)
  1. ;;=adding those languages to the file (though Finnish actually predates all
  1. ;;^DD(.85,.001,23,15,0)
  1. ;;=other translation efforts except English). Arabic was assigned ID Number
  1. ;;^DD(.85,.001,23,16,0)
  1. ;;=10 instead of 8 in recognition of the debt English owes Arabic for
  1. ;;^DD(.85,.001,23,17,0)
  1. ;;=introducing the decimal numbering system to Europe. Russian and Greek
  1. ;;^DD(.85,.001,23,18,0)
  1. ;;=were the next two translations the Fileman team was approached about. I
  1. ;;^DD(.85,.001,23,19,0)
  1. ;;=do not recall why for Hebrew we skipped ahead to ID Number 18, but I'm
  1. ;;^DD(.85,.001,23,20,0)
  1. ;;=sure there was a reason.
  1. ;;^DD(.85,.001,23,21,0)
  1. ;;=
  1. ;;^DD(.85,.001,23,22,0)
  1. ;;=Thereafter, languages are added in segments, in order by Name, starting
  1. ;;^DD(.85,.001,23,23,0)
  1. ;;=with ID Number 8. The segments correspond to the ISO 639 language
  1. ;;^DD(.85,.001,23,24,0)
  1. ;;=standards, in order (639-1 languages in segment two, 639-2 in three, and
  1. ;;^DD(.85,.001,23,25,0)
  1. ;;=so on). Each language has one unique record in this file, so wherever a
  1. ;;^DD(.85,.001,23,26,0)
  1. ;;=language in one segment has already been included in an earlier segment,
  1. ;;^DD(.85,.001,23,27,0)
  1. ;;=it is not included in the later segment (e.g., Greek was in segment one,
  1. ;;^DD(.85,.001,23,28,0)
  1. ;;=so it is not also added as a duplicate in segment two).
  1. ;;^DD(.85,.001,23,29,0)
  1. ;;=
  1. ;;^DD(.85,.001,23,30,0)
  1. ;;=This segmented approach makes it comparatively easy to upgrade the file
  1. ;;^DD(.85,.001,23,31,0)
  1. ;;=in discrete batches, to keep the update projects manageable.
  1. ;;^DD(.85,.001,"DT")
  1. ;;=3121031
  1. ;;^DD(.85,.01,0)
  1. ;;=NAME^RFJ60^^0;1^K:$L(X)>60!($L(X)<1) X
  1. ;;^DD(.85,.01,.1)
  1. ;;=Language-Name
  1. ;;^DD(.85,.01,3)
  1. ;;=Answer must be 1-60 characters in length.
  1. ;;^DD(.85,.01,21,0)
  1. ;;=^^10^10^3121031^
  1. ;;^DD(.85,.01,21,1,0)
  1. ;;=Enter the English name of the language, not the native name.
  1. ;;^DD(.85,.01,21,2,0)
  1. ;;=
  1. ;;^DD(.85,.01,21,3,0)
  1. ;;=The default is the English name from ISO 639, converted where necessary to
  1. ;;^DD(.85,.01,21,4,0)
  1. ;;=ASCII. Where the ISO 639 standards disagree (cf. "Central Khmer" in ISO
  1. ;;^DD(.85,.01,21,5,0)
  1. ;;=639-1 to "Khmer" in ISO 639-3), the most recent standard's spelling is
  1. ;;^DD(.85,.01,21,6,0)
  1. ;;=used.
  1. ;;^DD(.85,.01,21,7,0)
  1. ;;=
  1. ;;^DD(.85,.01,21,8,0)
  1. ;;=However, this use of ISO 639's spelling as a default is overridden in
  1. ;;^DD(.85,.01,21,9,0)
  1. ;;=several different ways to improve consistency across entries and to
  1. ;;^DD(.85,.01,21,10,0)
  1. ;;=reduce selection error.
  1. ;;^DD(.85,.01,23,0)
  1. ;;=^^63^63^3121031^
  1. ;;^DD(.85,.01,23,1,0)
  1. ;;=This is the English name of the language, not the native name. It
  1. ;;^DD(.85,.01,23,2,0)
  1. ;;=defaults to the English name from ISO 639, mixed case, converted where
  1. ;;^DD(.85,.01,23,3,0)
  1. ;;=necessary to ASCII. Where the ISO 639 standards disagree (cf. "Central
  1. ;;^DD(.85,.01,23,4,0)
  1. ;;=Khmer" in ISO 639-1 to "Khmer" in ISO 639-3), the most recent standard's
  1. ;;^DD(.85,.01,23,5,0)
  1. ;;=spelling is used.
  1. ;;^DD(.85,.01,23,6,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,7,0)
  1. ;;=However, this use of ISO 639's spelling as a default is overridden in
  1. ;;^DD(.85,.01,23,8,0)
  1. ;;=several different ways to improve consistency across entries and to
  1. ;;^DD(.85,.01,23,9,0)
  1. ;;=reduce selection error.
  1. ;;^DD(.85,.01,23,10,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,11,0)
  1. ;;=For example, for most modern languages, the form of the name that
  1. ;;^DD(.85,.01,23,12,0)
  1. ;;=includes the word "Modern" and the parenthesized dates is an alternate
  1. ;;^DD(.85,.01,23,13,0)
  1. ;;=name, but ISO 639 reverses that with Modern Greek. In this file, we
  1. ;;^DD(.85,.01,23,14,0)
  1. ;;=reassert the pattern by making the ISO 639 name "Greek, Modern (1453-)"
  1. ;;^DD(.85,.01,23,15,0)
  1. ;;=an alternate name and making the name "Greek" instead.
  1. ;;^DD(.85,.01,23,16,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,17,0)
  1. ;;=Since most users of these systems are medical professionals rather than
  1. ;;^DD(.85,.01,23,18,0)
  1. ;;=linguists or historians, we emphasize modern languages and group
  1. ;;^DD(.85,.01,23,19,0)
  1. ;;=historical ones away from the modern names to reduce accidents. For
  1. ;;^DD(.85,.01,23,20,0)
  1. ;;=example, "French, Old (842-ca.1400)" as so named in ISO 639-2 is used as
  1. ;;^DD(.85,.01,23,21,0)
  1. ;;=an alternate name for "Old French" in this file, to move the obsolete
  1. ;;^DD(.85,.01,23,22,0)
  1. ;;=form of the language away from the modern one. Thus, "Old" languages,
  1. ;;^DD(.85,.01,23,23,0)
  1. ;;="Ancient" ones, and "Middle" ones will tend to sort together. However,
  1. ;;^DD(.85,.01,23,24,0)
  1. ;;=languages whose names look like historical ones, such as "Old Church
  1. ;;^DD(.85,.01,23,25,0)
  1. ;;=Slavonic", that are still living languages or in active liturgical use
  1. ;;^DD(.85,.01,23,26,0)
  1. ;;=are kept in this form if that is how they are best known.
  1. ;;^DD(.85,.01,23,27,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,28,0)
  1. ;;=Also, such forms that include parenthetical dates are changed to remove
  1. ;;^DD(.85,.01,23,29,0)
  1. ;;=the dates and parentheses from the Name field; the original forms and
  1. ;;^DD(.85,.01,23,30,0)
  1. ;;=variants are preserved in the Alternate Name field.
  1. ;;^DD(.85,.01,23,31,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,32,0)
  1. ;;=For similar reasons, language collections like "Banda languages" are
  1. ;;^DD(.85,.01,23,33,0)
  1. ;;=renamed as "Languages, Banda" to move them away from individual language
  1. ;;^DD(.85,.01,23,34,0)
  1. ;;=a patient might speak, like "Banda-Banda". The same was preserved from
  1. ;;^DD(.85,.01,23,35,0)
  1. ;;=ISO 639 with creoles and pidgins (such as "Creoles and Pidgins,
  1. ;;^DD(.85,.01,23,36,0)
  1. ;;=Portuguese-Based"), which are collective languages, to kepp them separate
  1. ;;^DD(.85,.01,23,37,0)
  1. ;;=from the individual languages they might be confused with (such as
  1. ;;^DD(.85,.01,23,38,0)
  1. ;;="Portuguese"). However, individual languages like "Haitian Creole" and
  1. ;;^DD(.85,.01,23,39,0)
  1. ;;="Chinook Jargon" whose ISO 639 names makes them sound like language
  1. ;;^DD(.85,.01,23,40,0)
  1. ;;=collections are nevertheless left as is, since these are the names they
  1. ;;^DD(.85,.01,23,41,0)
  1. ;;=are known by and since the distinguishing part of the name does come
  1. ;;^DD(.85,.01,23,42,0)
  1. ;;=first, allowing for unambiguous selection.
  1. ;;^DD(.85,.01,23,43,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,44,0)
  1. ;;=Where the language name from ISO 639 is a list of alternative names, as
  1. ;;^DD(.85,.01,23,45,0)
  1. ;;=in "Catalan, Valencian", the dominant name (based on other code sets,
  1. ;;^DD(.85,.01,23,46,0)
  1. ;;=Ethnologue, Wikipedia, e.g. "Catalan") is used as the Name, with the
  1. ;;^DD(.85,.01,23,47,0)
  1. ;;=other name(s) (e.g., "Valencian") added to the Alternate Name field.
  1. ;;^DD(.85,.01,23,48,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,49,0)
  1. ;;=As a general rule (except in the case of language collections), ISO 639
  1. ;;^DD(.85,.01,23,50,0)
  1. ;;=names that use commas to invert a language name (like "Sorbian, Upper")
  1. ;;^DD(.85,.01,23,51,0)
  1. ;;=are corrected (like "Upper Sorbian"), and the ISO 639 name is made an
  1. ;;^DD(.85,.01,23,52,0)
  1. ;;=Alternate Name. We do not try to use commas in the Name field to group
  1. ;;^DD(.85,.01,23,53,0)
  1. ;;=together all related languages or dialects, though we do in the Alternate
  1. ;;^DD(.85,.01,23,54,0)
  1. ;;=Name field.
  1. ;;^DD(.85,.01,23,55,0)
  1. ;;=
  1. ;;^DD(.85,.01,23,56,0)
  1. ;;=In the Name field, parenthetical comments are generally restricted to
  1. ;;^DD(.85,.01,23,57,0)
  1. ;;=distinguishing between unrelated languages that have the same name, like
  1. ;;^DD(.85,.01,23,58,0)
  1. ;;="Lele (Democratic Republic of Congo)" and "Lele (Papua New Guinea)". The
  1. ;;^DD(.85,.01,23,59,0)
  1. ;;=parenthetical words will be (in order of preference) a country, a people,
  1. ;;^DD(.85,.01,23,60,0)
  1. ;;=or an alternate name of the language, so long as it distinguishes it from
  1. ;;^DD(.85,.01,23,61,0)
  1. ;;=the other identically named languages. To date, we have not had to change
  1. ;;^DD(.85,.01,23,62,0)
  1. ;;=any of the ISO 639 names we've imported to make or correct these
  1. ;;^DD(.85,.01,23,63,0)
  1. ;;=distinctions, but we stand ready to do so to enforce this pattern.
  1. ;;^DD(.85,.01,"DT")
  1. ;;=3121031
  1. ;;^DD(.85,.02,0)
  1. ;;=TWO LETTER CODE^FJ2^^0;2^K:$L(X)>2!($L(X)<2) X
  1. ;;^DD(.85,.02,3)
  1. ;;=Answer must be 2 characters in length.
  1. ;;^DD(.85,.02,21,0)
  1. ;;=^^3^3^3121101^^
  1. ;;^DD(.85,.02,21,1,0)
  1. ;;=Enter the two-letter code defined for this language in the ISO 639-1
  1. ;;^DD(.85,.02,21,2,0)
  1. ;;=standard. Not every language has a two-letter code; for those that do not
  1. ;;^DD(.85,.02,21,3,0)
  1. ;;=leave this field blank.
  1. ;;^DD(.85,.02,23,0)
  1. ;;=^^1^1^3121101^
  1. ;;^DD(.85,.02,23,1,0)
  1. ;;=Future versions of this file wil include an optional key on this field.
  1. ;;^DD(.85,.02,"DT")
  1. ;;=3121101
  1. ;;^DD(.85,.03,0)
  1. ;;=THREE LETTER CODE^FJ3^^0;3^K:$L(X)>3!($L(X)<3) X
  1. ;;^DD(.85,.03,3)
  1. ;;=Answer must be 3 characters in length.
  1. ;;^DD(.85,.03,21,0)
  1. ;;=^^2^2^3121101^^^^
  1. ;;^DD(.85,.03,21,1,0)
  1. ;;=Enter the three-letter code defined for this language in the ISO 639-2/B
  1. ;;^DD(.85,.03,21,2,0)
  1. ;;=standard.
  1. ;;^DD(.85,.03,23,0)
  1. ;;=^^2^2^3121101^
  1. ;;^DD(.85,.03,23,1,0)
  1. ;;=When this file is upgraded to ISO-639-6, an optional key will be added to
  1. ;;^DD(.85,.03,23,2,0)
  1. ;;=this field.
  1. ;;^DD(.85,.03,"DT")
  1. ;;=3121101
  1. ;;^DD(.85,.04,0)
  1. ;;=FOUR LETTER CODE^FJ4^^0;4^K:$L(X)>4!($L(X)<4) X
  1. ;;^DD(.85,.04,3)
  1. ;;=Answer must be 4 characters in length.
  1. ;;^DD(.85,.04,21,0)
  1. ;;=^^1^1^3121101^^^
  1. ;;^DD(.85,.04,21,1,0)
  1. ;;=Enter the four letter code associated with the language in ISO-639-6.
  1. ;;^DD(.85,.04,23,0)
  1. ;;=^^3^3^3121101^
  1. ;;^DD(.85,.04,23,1,0)
  1. ;;=This field is currently not used in this version of the release (as of
  1. ;;^DD(.85,.04,23,2,0)
  1. ;;=Fileman V22.2). In a future version when this file is upgraded to
  1. ;;^DD(.85,.04,23,3,0)
  1. ;;=ISO-639-6, a key will be added to this field.
  1. ;;^DD(.85,.04,"DT")
  1. ;;=3121101