Arabic to latin conversion failure?

344 Views Asked by At
package com.webom.crypt;

import org.apache.commons.lang3.StringEscapeUtils;

import com.ibm.icu.text.Transliterator;

public class Test {
        public static String ARABIC_TO_LATIN = "Any-Arabic";
        public static String ARABIC_TO_LATIN_NO_ACCENTS = "Arabic-Latin/BGN; nfd; [:nonspacing mark:] remove; nfc";

        public static void main(String[] args) {
            String ARABICString = "صدام حسين التكريتي";

            String unicodeCodes = StringEscapeUtils.escapeJava(ARABICString);
            System.out.println("Unicode codes:" + unicodeCodes);
            // conversion
            Transliterator ARABICToLatinTrans = Transliterator.getInstance(ARABIC_TO_LATIN);
            String result1 = ARABICToLatinTrans.transliterate(ARABICString);
            System.out.println("ARABIC to Latin:" + result1);
            // conversion       
            Transliterator ARABICToLatinNoAccentsTrans = Transliterator.getInstance(ARABIC_TO_LATIN_NO_ACCENTS);
            String result2 = ARABICToLatinNoAccentsTrans.transliterate(ARABICString);
            System.out.println("ARABIC to Latin (no accents):" + result2);
        }
    }

As conversion of arabic to latin fails because there is issue regarding to the instances .Could you please find out the correct instance string? As when you use google translator it will show exact conversion.

0

There are 0 best solutions below