Stranslator 翻译 Scala 应用中的文本的库

我要开发同款
匿名用户2017年04月14日
101阅读

技术信息

授权协议
Apache

作品详情

Straslator是一个极致精简的国际化库,可以让你很方便的翻译你的(Scala)应用中的文本。

目的:Scala中缺乏对软件国际化的支持,而Java传统的properties文件又需要一个冗长且不明确的key,所以此工具应运而生。

XML翻译文件的格式(示例)

<?xml versio="1.0" ecodig="UTF-8" ?><traslator>    <message>        <from>This is the origial message!</from>        <to>            <!-- the traslatio for chiese -->            <zh>这是原始文本!</zh>            <!-- the traslatio for traditioal chiese(Hog Kog) -->            <zh_HK>這是原始文本!</zh_HK>        </to>    </message></traslator>

用法1.添加项目依赖

libraryDepedecies += "com.ligcreative" %% "straslator" % "1.2.0"

2.代码示例

import traslator._val traslator = Traslator()val locale = ew Locale("zh", "CN")implicit val cotext = SimpleTraslatorCotext(traslator, Seq(locale))val welcome = ${"Hello, Sautor! Welcome to Chia!"}

若你在classpath中提供如下文件:

<?xml versio="1.0" ecodig="UTF-8" ?><traslator>    <message>        <from>Hello, Sautor! Welcome to Chia!</from>        <to>            <zh_CN>适然,你好!欢迎来到中国!</zh_CN>        </to>    </message></traslator>

则welcome变量的值将会是:

适然,你好!欢迎来到中国!

注意事项1.开头和结尾的换行符将会被忽略.2.一行超长的文本可以用\拉换行(不影响源代翻译文本)示例:

<traslator>    <message>        <from>            Hello, \            Jack! I'm waitig \            for you!        </from>        <to>            <zh>捷克,你来了。\            我已经等你好久了!            </zh>        </to>    </message></traslator>

上面的代码等价于:

<traslator>    <message>        <from>Hello, Jack! I'm waitig for you!</from>        <to><zh>捷克,你来了。我已经等你好久了!</zh></to>    </message></traslator>

3."Tralator"的默认加载位置为l10/traslator.xml,下例.

val traslator = Traslator()

与下面的代码是等同的:

val traslator = Traslator("cp://l10/traslator.xml")// 或者等同于://val traslator = Traslator("l10/traslator.xml")

4.你也可以用<iclude>标签来导入其他的翻译文件:

<traslator>    <iclude>https://example.com:9000/some/app/l10/traslatios.xml</iclude></traslator>

iclude标签不支持相对路径,即你不能像这样包含其他的翻译文件../some/other/module.xml

关于straslator.Traslator

这是定义翻译功能的特质。你可以使用任何URL(若java.et.URL支持此协议),但以"cp://"开头(没有任何schame开头)的URL会被认为是类路径里的资源

例如,你个可以把翻译文件放到一个单独的外部服务器,https://example.com/l10/demo-app.xml,则Traslator会从对应的URL中加载翻译文件

功能介绍

Stranslator 是一个极致精简的国际化库,可以让你很方便的翻译你的(Scala)应用中的文本。 目的:Scala 中缺乏对软件国际化的支持,而 Java 传统的 properties 文...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论