https://github.com/karadzhov/scala-iso-language
ISO 639 languages using Enumeratum and translations
https://github.com/karadzhov/scala-iso-language
enum enumeratum i18n iso-639 language languages scala scala-native scalajs
Last synced: 5 months ago
JSON representation
ISO 639 languages using Enumeratum and translations
- Host: GitHub
- URL: https://github.com/karadzhov/scala-iso-language
- Owner: karadzhov
- License: unlicense
- Created: 2024-01-03T19:33:33.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-16T07:16:08.000Z (over 2 years ago)
- Last Synced: 2024-03-16T08:26:52.788Z (over 2 years ago)
- Topics: enum, enumeratum, i18n, iso-639, language, languages, scala, scala-native, scalajs
- Language: Scala
- Homepage:
- Size: 85 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
## scala-iso-language [](https://github.com/karadzhov/scala-iso-language/actions/workflows/release.yml) [](https://maven-badges.herokuapp.com/maven-central/com.karadzhov/scala-iso-language-core_2.12)
scala-iso-language is a minimalistic library compatible with Scala, Scala.js and Scala Native. It simplifies the representation of ISO 639 languages using [Enumeratum](https://github.com/lloydmeta/enumeratum) and provides translations of language names into various languages.
### SBT
To get started with SBT add the following to your build.sbt file:
#### Enum without translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-core" % "0.5.0"
```
#### Enum + Arabic translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-ar" % "0.5.0"
```
#### Enum + Bulgarian translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-bg" % "0.5.0"
```
#### Enum + Czech translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-cs" % "0.5.0"
```
#### Enum + German translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-de" % "0.5.0"
```
#### Enum + English translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-en" % "0.5.0"
```
#### Enum + Spanish translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-es" % "0.5.0"
```
#### Enum + French translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-fr" % "0.5.0"
```
#### Enum + Hindi translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-hi" % "0.5.0"
```
#### Enum + Italian translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-it" % "0.5.0"
```
#### Enum + Polish translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-pl" % "0.5.0"
```
#### Enum + Portuguese translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-pt" % "0.5.0"
```
#### Enum + Russian translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-ru" % "0.5.0"
```
#### Enum + Chinese translations
``` scala
libraryDependencies += "com.karadzhov" %% "scala-iso-language-i18n-zh" % "0.5.0"
```
## Sample
```scala
import com.karadzhov.iso.language.Language
import com.karadzhov.iso.language.i18n.LanguageNameDE
Language.values
// Vector(Language.Abkhazian, Language.Afar, Language.Afrikaans...)
Language.Chinese.entryName
// "zh"
Language.withNameOption("zh")
// Some(Language.Chinese)
Language.withNameOption("ac")
// None
object GermanLanguagePack extends LanguageNameDE
GermanLanguagePack.languageName(Language.Samoan)
// "Samoanisch"
```