Home  >  Article  >  Java  >  Example analysis of java open source and easy-to-use simplified and traditional conversion class library

Example analysis of java open source and easy-to-use simplified and traditional conversion class library

PHPz
PHPzforward
2023-05-11 08:19:051118browse

    1. Example experience

    Use maven for project management. You can download it directly from the central warehouse and add the following dependencies to the pom file

    
    
        com.github.liuyueyi
        quick-transfer-core
        0.2.6
    

    Description: The 0.2.6 version was uploaded on 2022-08-11. If you can’t find it in the mvn warehouse, don’t panic. You can use 0.2.5

    first.

    If gradle is used for project management, dependencies are also very simple

    // https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core
    implementation 'com.github.liuyueyi:quick-transfer-core:0.2.6'

    In addition, for friends with poor network, you can also import dependencies through jitpack. The specific posture is as follows

    maven dependency

    
        
            jitpack.io
            https://jitpack.io
        
    
    
        com.github.liuyueyi.quick-chinese-transfer
        quick-transfer-core
        0.2.6
    

    gradle dependency

    allprojects {
    	repositories {
    		...
    		maven { url 'https://jitpack.io' }
    	}
    }
    dependencies {
        implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.6'
    }

    After the environment is prepared, you can use it directly. The usage posture is very, very simple

    public void testTrans() {
        String text = "这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;纔=才";
        // 简体转繁体
        String out = ChineseUtils.s2t(text);
        System.out.println("s2t -->" + out);
        // 简体转香港繁体
        String hkOut = ChineseUtils.s2hk(text);
        System.out.println("s2hk -->" + hkOut);
        // 简体转台湾繁体
        String twOut = ChineseUtils.s2tw(text);
        System.out.println("s2tw --> " + twOut);
        // 繁体转简体
        String origin = ChineseUtils.t2s(out);
        System.out.println("t2s -->" + origin);
        // 香港繁体转简体
        System.out.println("hk2s -->" + ChineseUtils.hk2s(hkOut));
        // 台湾繁体转简体
        System.out.println("tw2s -->" + ChineseUtils.tw2s(twOut));
    }

    Entry classChineseUtils Supports conversion between Simplified and Traditional Chinese. Hong Kong Traditional and Taiwanese Traditional are distinguished here. The main difference between the two is that some characters and words are called differently

    Usually Generally speaking, you can use the simplest interoperability between Simplified and Traditional Chinese.

    The output result of the above case is as follows:

    s2t -->This is the Sanxing Cave of the Inclined Moon... Longevity Noodles , Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Dragon Horse, Li Jing, King Pagoda, joking about Journey to the West, many people say this, pack it up, and pick up the gold; Cai=cai
    s2hk -->This Three-Star Cave with the Setting Moon... ;...longevity noodles, Sun Wukong, Zhu Bajie, Tang Monk, Sha Monk, White Dragon Horse, Li Jing, Pagoda King, joking about Journey to the West, many people say this, pack it up, and you will pick up the gold; Cai = Cai
    s2tw --> This Xianyue Sanxing Cave... Changshou Noodles, Sun Wukong, Zhu Bajie, Tang Monk, Sha Monk, White Dragon Horse, Li Jing, Pagoda King, joking about Journey to the West, many people say this, pack it up and pick up the gold; Cai = Cai
    t2s -->This is the Three-Star Cave with the Inclined Moon...... longevity noodles, Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Dragon Horse, Li Jing, and the King of Pagodas. Many people joke about Journey to the West, and many people say this, tidy up, and you can pick up the gold; only = Only
    hk2s -->This is the Three-Star Cave of the Inclined Moon... longevity noodles, Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Dragon Horse, Li Jing, King Pagoda, joking about Journey to the West, many people say so, clean it up , picking up gold is not ignorant; talent=cai
    tw2s -->This Three-Star Cave with the Inclined Moon... longevity noodles, Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Dragon Horse, Li Jing, King Pagoda, joking about Journey to the West, many people Put it this way, clean it up, and you will not be left behind; Cai = Cai

    2. Advanced use of

    Simplified and Traditional conversion, the core lies in the management of the dictionary, when the class library is converted for the first time , the dictionary will be loaded and parsed into the internal data structure Dict; therefore, when called for the first time, the time-consuming problem of cold start will occur

    2.1 Warming up

    Based on this, you can Preheat and load the dictionary where appropriate; the official provides two methods of synchronous preheating/asynchronous preheating, such as the first parameter of the

    // 预热加载所有的词典
    ChineseUtils.preLoad(true, TransType.values());
    // 预加载简体转繁体词典
    ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL);
    // 预加载简繁互转词典
    ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

    preLoad method, which is used to control synchronization Still asynchronous

    The following parameters are the dictionary you want to load

    2.2 Uninstallation

    There is also uninstallation after preheating, which may be possible for client partners Pay more attention to this memory usage; for unnecessary dictionaries, you can specify to uninstall

    // 卸载所有词典
    ChineseUtils.unLoad(TransType.values());
    // 卸载简繁互转词典
    ChineseUtils.unLoad(TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

    2.3 General methods

    In the usage examples in the first section, various unique methods are provided. Implement conversion; also provide a unified method to convert according to the dictionary type of passed parameters; suitable for the design of unified api interface, return the corresponding result scenario based on passed parameters

    ChineseUtils.transfer("一灰灰blog", TransType.SIMPLE_TO_TRADITIONAL);

    The above is the detailed content of Example analysis of java open source and easy-to-use simplified and traditional conversion class library. For more information, please follow other related articles on the PHP Chinese website!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete