juris-m / legal-resource-registry Goto Github PK
View Code? Open in Web Editor NEWJurisdiction ID and abbreviation data files for using with Jurism and other projects.
License: MIT License
Jurisdiction ID and abbreviation data files for using with Jurism and other projects.
License: MIT License
Hello! I'm very sorry for starting a new issue, but this didn't seem directly related to either of my other two open issues.
I'm wondering if there is an establish standard for which court names should be translated in the UI, or whether they should all be translated.
I ask because there are two ways to translate a court name. Either by:
name
in the courts
object, orname
in the court
object when called in multilingual jurisdiction.For exemple, Alberta and New Brunswick both have a "Court of Appeal". However, Alberta is unilingual English, whereas New Brunswick is officially bilingual french/english.
If I want "Court of Appeal" to always display as "Cour d'appel", then I can set the name in the court
object:
courts": {
"court.appeal": {
"name": "Court of Appeal",
"variants": {
"fr": {
"name": "Cour d'appel"
}
}
},
"jurisdictions": {
"ca:ab": {
"name": "Alberta",
"courts": {
"court.appeal": {},
}
},
"ca:nb": {
"name": "New-Brunswick",
"courts": {
"court.appeal": {}
}
},
However, if I would rather that "Cour d'appel" ONLY shows up in the jurisdictions that are bilingual, I would not put a variant name
in the court object, but rather, in each court call in a bilingual jurisdiction.
"courts": {
"court.appeal": {
"name": "Court of Appeal",
}
},
"jurisdictions": {
"ca:ab": {
"name": "Alberta",
"courts": {
"court.appeal": {},
}
},
"ca:nb": {
"name": "New-Brunswick",
"courts": {
"court.appeal": {
"variants": {
"fr": {
"name": "Cour d'appel"
}
}
}
}
Personally, I am torn. The "must conform exactly to the official standard" part of me wants to only translate the court name in the bilingual jurisdictions, but the "user friendless is most important" part thinks that having every court translated makes the interface much more user friendly, at no cost.
What do you guys think?
Dutch and French are official languages in Belgium with regions either officially French or Dutch except for Brussels that’s bilingual (plus a region where German has a certain status). abbrev:francais
looks like it should be used for French abbreviations but it doesn‘t, the file lists Dutch abbreviations under those keys.
Something’s going wrong with my current version of juris-de-desc.json (see PR).
I can‘t find anything invalid – neither non-ASCII-chars in keys, nor illegal whitespace.
$ jurisupdate -j de
Using /Users/gduffner/Documents/dev/legal-resource-registry/src as path for descriptive jurisdiction files
Will read descriptive jurisdiction files from: /Users/gduffner/Documents/dev/legal-resource-registry/src
Will write abbreviation files to: /Users/gduffner/Zotero/juris-abbrevs
Will write compact jurisdiction files to: /Users/gduffner/Zotero/juris-maps
de
Writing /Users/gduffner/Zotero/juris-abbrevs/auto-de.json
Writing /Users/gduffner/Zotero/juris-abbrevs/auto-de-deAlt.json
Writing /Users/gduffner/Zotero/juris-abbrevs/auto-de-enIBFD.json
ERROR: Unexpected token b in JSON at position 0
Linguistically the file is inconsistent. A (small) number of languages have official status in Spain on a regional level and the preferred official naming of a body might be in the regional language. The abbrevs are, without marking them, partly in the regional language, partly in Spanish when the preferred official naming is in the regional language.
Examples:
@Droitslinguistiques @georgd
Following a productive meeting with @Droitslinguistiques on Monday(CA)/Tuesday(JP), I've been mulling over the requirements. This note recaps the current state of abbreviation and jurisdiction source files, and proposes some changes for discussion.
The basic shape of jurisdiction specs looks roughly like so:
juris-XX-desc.json
file that provides (a) a mapping of court IDs to their names and abbreviations, and (b) of jurisdiction IDs to their names, abbreviations, and associated courts.auto-XX.json
abbreviation files used for rendering items of each jurisdiction, and (b) machine-readable JSON used to build database entries to support menus in the UI.<
or suffix >
) add the jurisdiction abbreviation.(This is not meant for close reading! The description is accurate, but provided here only to illustrate that we have a wooly mess on our hands that needs to be cleaned up)
That was the simple initial design, but it hit some limitations in the early going, and the syntax of the juris-XX-desc.json
files was extended in various ways. Some of the changes are documented, some are not, but all were added ad hoc to support specific quirks in requirements. The list of horribles is:
-
);+
);abbrev
, an ABBREV
segment is recognized.::
followed by the short-code to the court ID at the jurisdiction level.container-title
, an abbreviation might be set as "U.S.": "!authority>>>U.S."
, where the "U.S." reporter covers U.S. Supreme Court judgments exclusively).court.appeal:!authority:Ohio Ct. App.>>>Ohio
, where the full expression of the court+jurisdiction would be "Ohio Ct. App. 1st Dist.")juris-XX-desc.json
file (in which case it passes through as an institution-entire
abbreviation), or (b) in the auto-XX.json
file generated from it (when a different variable family, typically container-title
, is the trigger).container-title
segments to the original file (before overwriting) are preserved.abbrev
keys with a colon-delimited language code (e.g. abbrev:fr
).Readability: While the original design was meant to express the entire structure of a jurisdiction and its abbreviation logic in a single file, some of the abbreviation details (for container-title
abbrevs) is currently expressed in the target auto-XX.json
abbreviation files, which serve both as source and output target for the compilation script. This is bad design, and the "external" abbreviation details should be moved into the juris-XX-desc.json
file.
UI language: While the current format of the juris-XX-desc-json
files can distinguish between the court and jurisdiction names shown in the UI (keyed as name
) and their abbreviations for rendering (keyed as abbrev
or ABBREV
), there is no provision for language arbitration in the UI. This is a problem for jurisdictions that have multiple official languages, where the user may wish the court names to be expressed in their own.
Short-code language: The current format allows only one form of ABBREV
, with no provision for variants based on the preferred language domain of the style.
(I think that covers all the limitations that we've uncovered, correct me in comments if I've missed something.)
Aims for a redesign of the file format:
juris-XX-desc.json
file.Here is a tentative plan, followed by a few examples:
courts
objects, set an optional variants
object with language codes as keys to objects carrying values for one or more of the keysname
, abbrev
, and ABBREV
.abbrev
and ABBREV
, replace the <
prefix and >
suffix with %s
in the same location, and equally recognize %s
as a mid-string placeholder.courts
array of keyed objects under the top-level jurisdictions
key with a courts
object carrying court IDs as keys, with EITHER a boolean value of true
, OR the same structure as the top-level courts
objects, but with all keys optional, falling back to the default values. In addition to name
, abbrev
, ABBREV
and variants
, the top-level object for a court ID may have an abbrev-select
key, with a string value of jurisdiction
or court
to signify that the jurisdiction or court abbreviation alone should be used when generating the institution-parts
abbreviation from abbrev
.container-title
as an optional key on child objects to jurisdictions
.Alternative language for UI jurisdiction and court name
"courts": {
"supreme.court": {
"name": "Supreme Court",
"ABBREV": "SC",
"variants": {
"fr": {
"name": "Cour suprême"
"ABBREV": "CS"
}
}
}
},
"jurisdictions": {
"ca": {
"name": "Canada",
"courts": {
"supreme.court": true
}
}
}
}
Suppress court name implicit in reporter
"courts": {
"supreme.court": "%s Sup. Ct."
},
"jurisdictions": {
"us": {
"name": "U.S.",
"courts": {
"supreme.court": {
"abbrev-select": "court"
}
},
"container-title": {
"L. Ed. 2d": "!authority>>>L. Ed. 2d"
}
}
}
Here, the name of the court will render as "Sup. Ct." unless the citation is to "L. Ed. 2d", in which case the court name (in the trailing parenthetical of a US-style cite) will be completely omitted.
Suppress jurisdiction string element if matching court short-code is used
"courts": {
"court.appeals": {
"name": "Court of Appeals",
"abbrev": "%s Ct. App."
}
},
"jurisdictions": {
"us:oh:d1": {
"name": "1st District",
"abbrev": "Ohio Ct. App. 1st Dist."
"courts": {
"court.appeals": {
"ABBREV": "!authority:Ohio Ct. App.>>>Ohio"
}
}
}
}
Alternative language for court abbreviation
"courts": {
"chiho.saibansho": {
"name": "地方裁判所",
"abbrev": "%s地方裁判所",
"variants": {
"en": {
"abbrev": "%s District Court"
}
}
}
},
"jurisdictions": {
{
"path": "jp:nagoya:gifu",
"name": "岐阜",
"abbrev": "岐阜",
"courts": {
"chiho.saibansho": {
"variants": {
"en": {
"abbrev": "Gifu"
}
}
}
}
}
}
Searching for the reason of Juris-M/jurism-abbreviations#1 I stumbled upon commit 949e301 which does several things that are not optimal or even wrong:
cjeu
jurisdiction, ecj
is marked to ignore court which can’t be correct, in my opinion — and which is the reason, the German abbreviation got lost in auto-eu.int-de.json.eu.int/cjeu
and the court ecj
got confused: the jurisdiction eu.int/cjeu
is, in English, the "Court of Justice of the European Union", the court is the "European Court of Justice". In French, the jurisdiction is "Cour de Justice de l’Union Européenne" and the court is "Cour de Justice".Hello Frank, I've noticed that you've been doing some work on Juris-M in the last little bit, so I thought I'd drop this here for when you have a moment to look at it.
Many Commonwealth jurisdictions have courts named after the monarch. When QE2 died, they got renamed to Court of King's Bench.
This poses a problem for Juris-M. Going forward, new cases with need the vendor neutral cite of "KB", but existing cases will still be refered to as "QB".
Now, I could create a new Court in each relevant subjurisdiction. However, I'm wondering how we should differenciate, on the UI, between the "Old" Court of Queen's Bench, and the "New" Court of King's Bench. I'm proposing to simply add King's Bench and then add a prefix to the UI name of Queen's Bench to make it "--Depreciated-- Court of Queen's Bench" and move it to the bottom of the Court list for each subjuridiction.
What do you think? Do you see a way to keep a single court, with different vendor neutral cites bases on the date decided (which I'm assuming would be VERY complicated to set up on your end) or would it be better to simply have two different court identifiers, and make sure that the prefix identifies which is the current and which is the old one.
Btw: My CanLii Juris-M translator is currently broken for these courts and also needs to work around this, as ALL cases of this court, past and present, are now under the heading of King's Bench, but that's a seperate problem for me to fix later.
Hello! I've been testing a new set of abbreviations for Canada. I set a "fr" variant for every jurisdiction and court in the "auto-ca" file.
However, when using Juris-M, even with the app set to french, the english names are still displayed in the UI.
Have I missed something in setting up the french names?
I am trying to output footnote for Treaties and other UN instruments using AGLC4 which Jurism is not outputting correctly... AGLC4 suggests Treaty should be cited as: Treaty Title, opened for signature Date, Treaty Series (entered into force Date). Please help!
Decisions of the supreme federal courts of these three countries are cited in a special way if only cited from the official reporter and I’m not sure how to prepare this in CSL-M and the LRR.
Case citation here usually includes (at least):
Ex. of a normal citation: AT case (with parallel citation to official reporter):
VfGH B 990/09, RdM 2010/61, 59 (Potacs) = VfSlg 18.966/2009.
Components:
VfGH
)B 990/09
)RdM
)2010/61
)VfSlg
)18.966/2009
)Citing a case only from the official reporter looks like this:
VfSlg 18.950/2009.
Components:
VfSlg
)18.950/2009
)I’m absolutely not sure, how tho handle this.
In the juris-at-desc.json, would I extend the "jurisdictions": "at"
object by the following for the two official reporters that would be treated in this way?
"container-title": {
"VfSlg": "!authority>>>VfSlg",
"VwSlg": "!authority>>>VwSlg"
}
And how would I do it in the csl-file to discern between non-official and official reporters and between official reporters when cited alone and official reporters in a parallel citation?
Traditionally, when citing a published case, the decision date is omitted, and in Germany usually also the docket no. isn’t used. Now, some reporters (one of them a very prominent one) are organised in a way that makes it necessary to add the decision date for ensuring findability.
A solution might be to simply leave away date (and docket no.) from entries in Juris-M but then, the more user-friendly citation styles require always to add the decision date. Also, for the purpose of organising the Juris-M database, decision date and dockt no. are very helpful.
Do you have an idea how to handle this?
juris-fr-desc.json
is incomplete: the courts of first instance (the recently abolished tribunal d’instance and tribunal de grande instance, the new tribunal judiciaire), the cour d’assises, and some more are missing.C.A.
instead of CA
, or entirely missing (Conseil d’Etat, Conseil constitutionnel).If someone can confirm that the currently available abbreviations are not used in France, I can correct them. The missing courts needs input from someone with deeper knowledge of the French system.
Hello!
So the problem that I'm having is that in some contexts, I need to render the full jurisdiction name (Canada), but in other contexts, I need to render only the abbreviated version (Can).
As an example, a report from a Royal Commission should render as such :
Canada, Commission of Inquiry into the Sponsorship Program and Advertising Activities, <i> Who is Responsible? Fact Finding Report</i> (Ottawa: Public Works and Government Services Canada, 2005) at 33.
However, if I'm citing a court case from a reporter where the name of the reporter does not clearly indicate the court or jurisdiction, that information has to be included, abbreviated, in paratheses at the end (in this example, CA indicates Court of Appeal, but Qc needs to be added at the end to specify Québec):
<i>Air Canada c Joyal<i/>, [1982] CA 39 (Qc)
Right now, the LRR entry for each jurisdiction can include an "abbrev" value. In the case of the main jurisdiction, it be can be rendered using, for example <text value="country form="short"/>
. To my knowledge, there is no way to do this for sub jurisdiction's abbrev value, but I may be wrong. (Edit: I was wrong. There is an issue but it is a completely different problem.) Finally, there is also a "name" value, which, again to my knowledge, is solely used in the user interface, and cannot be rendered by a citation style or module.
So my questions are :
1) Is there a way to render the "abbrev" values of sub jurisdictions?
2) Is there a way to render the "name" value assigned in the LRR?
3) If not, is there a way to add this functionality to CSL-M, and how could I help?
@georgd and I had talked about this a while back, so I'm pinging you here in case you have anything to add.
Some German (spreme) state courts, but not all, use the court's seat instead of the state name as jurisdiction part. How would I override only that?
e.g. in
"de:baden.wurttemberg": {
"name": "Baden-Württemberg",
"courts": {
"fg": {},
"lag": {},
"lsg": {},
"verfgh": {},
"vgh": {}
}
},
the supreme adminsitrative court vgh
should be VGH Mannheim
instead of VGH Baden-Württemberg
. I thought I had found that already but I obviously got lost...
In the Readme, it is listed that it should be possible to override the court names with a jurisdiction specific court name defined in that jurisdiction :
"zz:west": { "name": "West", "abbrev": "W.", "courts": { "court.appeal": { "name": "Court of Error", "abbrev": "%s Ct. Err" } } } }
I need to implement this for Canada, in order to get the CanLII translator I've been working on fonctionnal. This is my code for the Court of Appeal for Ontario :
"ca:on": { "name": "Ontario", "abbrev": "Ont", "ABBREV": "ON", "courts": { "court.appeal": { "name": "Court of Appeal for Ontario", "variants": { "fr": { "name": "Court d'appel de l'Ontario", "abbrev": "CA %s" } } }
However, I'm not seeing the jurisdiction specific court names show up in either the UI, the maps file, or the abbreviation files.
Is there something I'm doing wrong?
jurisupdate -t descriptive-to-compact -j eu.int
returns an error:
ERROR: invalid court ID "ecj~chamber.1" in jurisdiction eu.int:cjeu
Is it the tilde or the period?
The chambers of the ECJ are listed as courts in the jurisdiction cjeu
, which is wrong. They’re divisions of the court ECJ. Generally, I don’t think they fit in here at all as the different traditions compose them with different punctuation or parenthesis settings:
Currently, the abbrevs-file produces in English:
Court of Justice First Chamber
French citation rules require:
CJUE, 4ᵉ ch.
Austrian citation rules regularly only put the Grand Chamber (which currently is missing):
EuGH (GK)
Let's say that the "court" object has a name of "Supreme Court", but if that object is called for a specific jurisdiction, I want the UI to display "Supreme Court of Alberta.
I have tried to have the general court name be "Supreme Court", and then under the jurisdiction, do the following:
"ca:ab" : { courts: { "supreme.court": { "name": "Supreme Court of Alberta" } } }
However, that does not seem to add a modified name to that court when called for that jurisdiction. Instead, the "name" specificied under the jurisdiction overwrites the "abbrev" of the court object, so that the "abbrev" will now be "Supreme Court of Alberta", but will still display as "Supreme Court" in the UI.
This is honestly not a big deal, but I thought I'd bring it up, in case it is an unintended bug and not a deliberate choice.
The current setup of jurism-abbreviations allows quite flexibly handling multiple languages. However, it’s possibly a bit too flexible.
The settings
Different situations are met in the wild:
Citation requirements
The issues
francais
. A French citation style now would have to include francais
in jurisdiction-preferences
. At the same time, juris-ca-desc.json
marks French as fr
which is inconsistent with Belgium and will require a second entry in jurisdiction-preferences
.jurisdiction-preferences
. However, he may prefer English over French in Canadian citations and German over French in Swiss (here, German currently is the primary/unmarked language for national courts) citations. The citation style could inlude this list in the jurisdiction-preferences
: de en fr
, however this would lead to always reading only the French versions in all three cases, as the English and the German versions are not marked accordingly.en
is listed among the preferred languages in the style.A possible solution
In my lifetime, I experienced one (civil) or two (military) revisions of the court system. The situation only gets more complicated in Switzerland, as the cantons (states) were totally free in their court organization.
In legal research - be it historical or current - one has to reference both currently existing and no longer existing courts. In a GUI however, users could be stupefied having 'historical' courts being presented among known and current ones.
Would it be advisable to mark courts/jurisdictions as 'historical' and e.g. list them beneath current ones?
Since the great new developments, it’s no longer possible to use the default language in citations if a second language is defined. Using the appended record as input together with jm-indigobook-law-review and the document language in Word set to en-US, I receive the following output:
Crown Forest Industries Ltd. v. Canada, Tax Treaty Case Law IBFD (CSC Jun. 22, 1995).
The court abbreviation should read SCC
instead of CSC
.
[
{
"type": "legal_case",
"title": "Crown Forest Industries Ltd. v. Canada",
"authority": "Supreme Court",
"issued": {
"date-parts": [
[
1995,
6,
22
]
]
},
"shortTitle": "Crown Forest",
"note": "",
"multi": {
"main": {},
"_keys": {}
},
"archive": "Tax Treaty Case Law IBFD",
"jurisdiction": "ca"
}
]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.