cancel
Showing results for 
Search instead for 
Did you mean: 

Multi Lingual Addon

Former Member
0 Kudos

Hi All,

How make an addon which support Multi language

Accepted Solutions (1)

Accepted Solutions (1)

CRVMANISH
Contributor
0 Kudos

Hi,

There are many ways you can implement a multilingual addon.

My approach is to:

1. I use a property to store the addon's language code (I've setup my system to perceive en-US and en-UK as the same language.

2. I have a XML file with the translations. Here's a sample of this file...

<?xml version="1.0" encoding="utf-16" ?>
<AddOnStrings>
	<Addon>
		<Name
			PT="ebmpapst"
			EN="ebmpapst"></Name>
	</Addon>
	<general>
		<FileNotFound
			PT="O ficheiro não foi encontrado"
			EN="File not found"></FileNotFound>
		<AppReady
			PT="Aplicação carregada e pronta a utilizar."
			EN="Application loaded and ready for use."></AppReady>
		<ConnSucess
			PT="Ligação estabelecida à empresa "
			EN="Connection established to company "></ConnSucess>
	</general>
...
	<column>
		<COLItemCode
			PT="Cód. Artigo"
			EN="Item Code"></COLItemCode>
		<COLItemName
			PT="Descrição do Artigo"
			EN="Item Name"></COLItemName>
		<COLTotal
			PT="Total"
			EN="Total"></COLTotal>
	</column>
	<queries>
	</queries>
</AddOnStrings>

3. I have a function that get the translation. Here's the code:

Public Function TranslateStr(ByRef oApplication As SAPbouiCOM.Application, ByRef StringID As String) As String
        TranslateStr = ""
 
        Dim oXMLDoc As System.Xml.XmlDocument = New Xml.XmlDocument
 
        Try
            If File.Exists(SEI_FldMisc & "strings.xml") Then '## SEI_FldMisc hold the path to the strings.xml file
                oXMLDoc.Load(SEI_FldMisc & "strings.xml")
                TranslateStr = oXMLDoc.SelectSingleNode("AddOnStrings/" & StringID & "/@" & SEI_Language).Value '## SEI_Language holds the language code
            End If
        Catch ex As Exception
            oApplication.MessageBox("TranslateStr(" & StringID & "): " & ex.ToString)
        Finally
            oXMLDoc = Nothing
        End Try
    End Function

Hope it helps,

Edited by: Manish Meshram on Jun 27, 2010 7:04 PM

Former Member
0 Kudos

Thanks You Manish,

Very helpful answer

Answers (0)