行文字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
行和文字
---------------------------------

原文地址:https://www.cnblogs.com/jiangu66/p/3111395.html