zoukankan      html  css  js  c++  java
  • 行文字Genero技轉沒教的事(08)Genero的多語言機制

    之前一直在研究行文字之类的问题,上午正好有机会和大家讨论一下.

        Genero本身其實是有自己的多語言機制,這個機制也和TIPTOP GP走的路不相同。相信各位對TIPTOP GP多語機制都已經非常瞭解﹝?﹞了,所以本篇先略過不談,專心focus在Genero機制上。

        『Genero有這種機制為啥TIPTOP GP不必?』,原因上是在開發TIPTOP GP時這種解法還沒有well develop,而它已經有必定成熟度時,TIPTOP GP已是穩定的產品,就沒有再考量調整底層架構來應用它了。

        因此,以下和TIPTOP GP5.2﹝含﹞之前的版本,都沒有任何關係唷!

        Genero在程式執行的過程中,只要有吃到resource file﹝4ad,4st,4tb﹞及42m,42f等處,都可以『自行』尋找是不是有要做『語言轉換』的地方,這樣的機制可以協助partner快速的開發出『在地版』的程式﹝請注意,沒有多少程式開發商是像TIPTOP GP這樣一次附上--如果有買的話--多種語言包,讓END User作線上切換的﹞。

        看一下怎麼讓42m進行轉換

        要讓42m可以進行轉換,就得要在程式內加『%』或寫『LSTR』function:

    01 MAIN
    02   DISPLAY %"common.helloworld"
    03 END MAIN
    01 MAIN
    02   DISPLAY LSTR("common.helloworld")
    03 END MAIN
        每日一道理
    翻开早已发黄的页张,试着寻找过去所留下的点点滴滴的足迹。多年前的好友似乎现在看来已变得陌生,匆忙之间,让这维持了多年的友谊变淡,找不出什么亲切感,只是偶尔遇上,淡淡地微笑,如今也只能在这发黄的页张中找寻过去的那些让人难忘的,至少我可以握住这仅剩下一段的“丝线头”……

    原來作DISPLAY的字串,就會轉為字串代碼,到『訊息字串檔﹝42s﹞』內找出對應的在地字串,顯示出來。

        而42f也是在per的『TEXT』屬性前加上『%』就能够了,例如:

        

        LABEL

        

        lab01 :

        

        TEXT

        

        =%"myform.label01";

        如果您是用Genero Studio的4fd來編輯的,或開發其他資源檔﹝4st, 4tb, 4ad﹞,那就是在property內勾選使用42s就能够了。使用上更簡單。

        接下來談42s怎麼作

        首先必需用文字編輯器來編一個文字檔,附檔名請用『.str』﹝規定﹞,內容如下:

        

    "id001" = "Some text"

    "common.helloworld" = "哈囉,世界!"

        產生此檔後,使用『fglmkstr  文字檔檔名』﹝可以不必含入.str﹞,接著就會產出編譯实现的『42s』檔。

        最後,請把此檔放在『FGLRESOURCEPATH』有指到的路徑下﹝或把現行42s所在路徑参加此環境變數﹞,這樣在執行時就會叫用到42s檔了。

        差異和結語在下面
    如果要做N種語言的42s該怎麼做?嗯,那就要準備N種的str再轉換成42s囉,另外若要節省環境變數的記憶空間或是放慢查找效率,那麼在進行『線上語系切換』時就又要一起變動『FGLRESOURCEPATH』環境變數…等,會不會比較麻煩?各位自在心證啦…

        總上所述,希望各位也撥空對此機制有概略瞭解,有昭一日﹝TIPTOP GP?﹞就會有應用的機會了…

        做出來的範例畫面呢?啊…偷懶沒做…當大家的作業吧…

    文章结束给大家分享下程序员的一些笑话语录: 苹果与谷歌之争就是封闭收费与自由免费思想之争。(别急着把google来膜拜哦?那可是一家公司,以赚钱为目标的公司!当年我Party就是这样把广大劳动人民吸引过来的。今天的结果你们都看到了。)

    --------------------------------- 原创文章 By
    行和文字
    ---------------------------------

  • 相关阅读:
    Jenkins构建时间Poll Scm的设置(常用设置)
    jenkins对测试脚本的构建步骤
    jemeter排至数据库时报:Access denied for user 'root'@'localhost' (using password:YES) 解决方案
    接口测试总结
    linux gitlab-ctl reconfigure报错问题修复 502
    Linux Redis 开机启动
    CentOS7安装iptables防火墙
    linux mongodb开机启动(服务的方式)
    Linux服务器使用XShell上传下载文件
    推荐.Net、C# 逆向反编译四大工具利器
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3111395.html
Copyright © 2011-2022 走看看