sbt-i18n


License

License

GroupId

GroupId

ch.timo-schmid
ArtifactId

ArtifactId

sbt-i18n_2.12
Last Version

Last Version

0.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

sbt-i18n
sbt-i18n
Project URL

Project URL

https://github.com/timo-schmid/sbt-i18n
Project Organization

Project Organization

ch.timo-schmid
Source Code Management

Source Code Management

https://github.com/timo-schmid/sbt-i18n

Download sbt-i18n_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/ch.timo-schmid/sbt-i18n_2.12/ -->
<dependency>
    <groupId>ch.timo-schmid</groupId>
    <artifactId>sbt-i18n_2.12</artifactId>
    <version>0.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/ch.timo-schmid/sbt-i18n_2.12/
implementation 'ch.timo-schmid:sbt-i18n_2.12:0.0.1'
// https://jarcasting.com/artifacts/ch.timo-schmid/sbt-i18n_2.12/
implementation ("ch.timo-schmid:sbt-i18n_2.12:0.0.1")
'ch.timo-schmid:sbt-i18n_2.12:jar:0.0.1'
<dependency org="ch.timo-schmid" name="sbt-i18n_2.12" rev="0.0.1">
  <artifact name="sbt-i18n_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='ch.timo-schmid', module='sbt-i18n_2.12', version='0.0.1')
)
libraryDependencies += "ch.timo-schmid" % "sbt-i18n_2.12" % "0.0.1"
[ch.timo-schmid/sbt-i18n_2.12 "0.0.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.7

Project Modules

There are no modules declared in this project.

sbt-i18n

This sbt plugin lets you create i18n files and publish them as scala functions.

Quick start

Enable sbt-i18n in plugins.sbt:

addSbtPlugin("ch.timo-schmid" % "sbt-i18n" % "{ latest_version }")

Set the package for the generated classes:

lazy val `acme-server` = (project in file("."))
  .settings(i18nPackageName := "corp.acme.i18n")
  .enablePlugins(I18nPlugin)

Create a file called src/main/i18n/en_US.properties:

user=User
user.id=Id
user.name=Username
user.firstName=First name
user.lastName=Last name
user.age=Age
user.email=Email-Address
user.ui=Manage users
user.ui.add=Create user
user.ui.edit=Edit user '$userName'
user.ui.delete=Delete user '$userName'

You can now use the generated classes in your scala code:

implicit val de: Language = Language("en_US")
println(corp.acme.i18n.user())                 // => User
println(corp.acme.i18n.user.id())              // => Id
println(corp.acme.i18n.user.name())            // => Username
println(corp.acme.i18n.user.firstName())       // => First name
println(corp.acme.i18n.user.lastName())        // => Last name
println(corp.acme.i18n.user.age())             // => Email-Address
println(corp.acme.i18n.user.email())           // => Email-Address
println(corp.acme.i18n.user.ui())              // => Manage users
println(corp.acme.i18n.user.ui.add())          // => Create user
println(corp.acme.i18n.user.ui.edit("timo"))   // => Edit user 'timo'
println(corp.acme.i18n.user.ui.delete("timo")) // => Delete user 'timo'

Versions

Version
0.0.1