diff --git a/docker/dockerfiles/joex.dockerfile b/docker/dockerfiles/joex.dockerfile index 0d105e9818..05a4936748 100644 --- a/docker/dockerfiles/joex.dockerfile +++ b/docker/dockerfiles/joex.dockerfile @@ -30,6 +30,7 @@ RUN JDKPKG="openjdk11"; \ tesseract-ocr-data-ron \ tesseract-ocr-data-lav \ tesseract-ocr-data-jpn \ + tesseract-ocr-data-heb \ unpaper \ wkhtmltopdf \ libreoffice \ diff --git a/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala b/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala index 1257a5c9ee..d681eefae7 100644 --- a/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala +++ b/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala @@ -102,6 +102,7 @@ object DateFind { case Language.Dutch => dmy.or(ymd).or(mdy) case Language.Latvian => dmy.or(lavLong).or(ymd) case Language.Japanese => ymd + case Language.Hebrew => dmy } p.read(parts) match { case Result.Success(sds, _) => diff --git a/modules/analysis/src/main/scala/docspell/analysis/date/MonthName.scala b/modules/analysis/src/main/scala/docspell/analysis/date/MonthName.scala index 63d51a9ad9..5f13f3025f 100644 --- a/modules/analysis/src/main/scala/docspell/analysis/date/MonthName.scala +++ b/modules/analysis/src/main/scala/docspell/analysis/date/MonthName.scala @@ -52,6 +52,8 @@ object MonthName { latvian case Language.Japanese => japanese + case Language.Hebrew => + hebrew } private val numbers = List( @@ -307,4 +309,19 @@ object MonthName { List("11", "十一"), List("12", "十二") ) + + private val hebrew = List( + List("1", "ינואר"), + List("2", "פברואר"), + List("3", "מרץ"), + List("4", "אפריל"), + List("5", "מאי"), + List("6", "יוני"), + List("7", "יולי"), + List("8", "אוגוסט"), + List("9", "ספטמבר"), + List("10", "אוקטובר"), + List("11", "נובמבר"), + List("12", "דצמבר") + ) } diff --git a/modules/common/src/main/scala/docspell/common/Language.scala b/modules/common/src/main/scala/docspell/common/Language.scala index d46aba3af6..3a6c9eb00c 100644 --- a/modules/common/src/main/scala/docspell/common/Language.scala +++ b/modules/common/src/main/scala/docspell/common/Language.scala @@ -113,6 +113,11 @@ object Language { val iso3 = "jpn" } + case object Hebrew extends Language { + val iso2 = "he" + val iso3 = "heb" + } + val all: List[Language] = List( German, @@ -130,7 +135,8 @@ object Language { Russian, Romanian, Latvian, - Japanese + Japanese, + Hebrew ) def fromString(str: String): Either[String, Language] = { diff --git a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala index 6aa7dd36f7..8ebd323b2a 100644 --- a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala +++ b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala @@ -114,7 +114,13 @@ object SolrSetup { "Add japanese content field", addContentField(Language.Japanese) ), - SolrMigration.reIndexAll(15, "Re-Index after adding japanese content field") + SolrMigration.reIndexAll(15, "Re-Index after adding japanese content field"), + SolrMigration[F]( + 16, + "Add hebrew content field", + addContentField(Language.Hebrew) + ), + SolrMigration.reIndexAll(17, "Re-Index after adding hebrew content field") ) def addFolderField: F[Unit] = diff --git a/modules/webapp/src/main/elm/Data/Language.elm b/modules/webapp/src/main/elm/Data/Language.elm index 41522878c1..3b7970bc89 100644 --- a/modules/webapp/src/main/elm/Data/Language.elm +++ b/modules/webapp/src/main/elm/Data/Language.elm @@ -30,6 +30,7 @@ type Language | Dutch | Latvian | Japanese + | Hebrew fromString : String -> Maybe Language @@ -82,6 +83,9 @@ fromString str = else if str == "jpn" || str == "ja" || str == "japanese" then Just Japanese + else if str == "heb" || str == "he" || str == "hebrew" then + Just Hebrew + else Nothing @@ -137,6 +141,9 @@ toIso3 lang = Japanese -> "jpn" + Hebrew -> + "heb" + all : List Language all = @@ -156,4 +163,5 @@ all = , Romanian , Latvian , Japanese + , Hebrew ] diff --git a/modules/webapp/src/main/elm/Messages/Data/Language.elm b/modules/webapp/src/main/elm/Messages/Data/Language.elm index 60070c5627..6e7fac1ef4 100644 --- a/modules/webapp/src/main/elm/Messages/Data/Language.elm +++ b/modules/webapp/src/main/elm/Messages/Data/Language.elm @@ -64,6 +64,9 @@ gb lang = Japanese -> "Japanese" + Hebrew -> + "Hebrew" + de : Language -> String de lang = @@ -115,3 +118,6 @@ de lang = Japanese -> "Japanisch" + + Hebrew -> + "Hebräisch"