Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to translate SO10 text to different languages?

Former Member
0 Kudos

Hi,

I have maintained a standard text in SO10. Now I want to convert that into other languages. The text that I have maintained is in English. I want to get the German translation of the text while passing LANGUAGE = 'DE' in FM READ_TEXT.

Is there any way to achive this without maintaing the text in different languages?

Thanks in advance.

Jissa.

21 REPLIES 21

Former Member
0 Kudos

Hi,

No it is not posible.

You have to transalate it to target language.

thanks.

former_member404244
Active Contributor
0 Kudos

HI,

Try like this

Maintain a translation for the above text in destination language <french, german>. To do the same, go to translation SE63.

Click on Translation -> ABAP Objects -> Other Long Texts

Enter the name of the Smart Form created earlier. Also provide the source language and Target Language to be maintained:

U need to know the other language text also and paste the text in the Target text.

Regards,

Nagaraj

Former Member
0 Kudos

Hi ,

You have to create manually ( i.e copy your text which is in english and convert the same text in german language ) , you can maintain the same name for both the standard text but with differnt language.while reading you can call either text in 'EN' or text in 'DE'.

Please let me know if you still need any more help.

Thanks and regards.

Rajeshwar.

Former Member
0 Kudos

Hi,

check this [;

hope it'll help u.

Former Member
0 Kudos

Hi,

Thanks for the replies.

What I wanted to know was that, whether language translation can be possible with out maintaining multiple texts in SO10.

Is it possible to translate SO10 texts via SE16?

Jissa

0 Kudos

u dont really need to maintain texts in different languages in SO10. you just need to translate it in SE63.

0 Kudos

Please tell me the steps to do that

0 Kudos

Hi,

i dont have idea via SE16 but u can try with SE63.

You can goto transaction SE63 and translate the scripts into different languages.

In SE63, click Translation -> Long Texts -> Sapscripts -> Forms

Those language you can convert to have already been pre-installed in the system.

SE63 is the best way to translate since it offers check options.

Regards,

Sneha.

0 Kudos

( Sorry about SE16 . what I meant was SE6)

I am fetching the text through the FM Read_Text. It won't be a normal text element. It will be an include text. Can we translate include text also through SE63?

0 Kudos

Hello Jissa,

I donot think you need to translate the text using SE63. You can create another text with the same name & only the language different.

Why do you need SE63 for SO10 text?

BR,

Suhas

0 Kudos

u can basically translate all texts created in SAP using SE63..

0 Kudos

Suhas,

In that case I need to maintain many translation of the same texts. Becose I want to translate the SO10 text to multiple languages. I'm trying to avoid that.

0 Kudos

Bikash,

Can you please explain the steps to convert SO10 text via SE63

0 Kudos

Hi

U can create a little program in order to copy the text from main language to a target langue:

TABLES: THEAD, STXH.


PARAMETERS P_TEXT LIKE THEAD-TDNAME.
PARAMETERS: FR_LANG TYPE THEAD-TDSPRAS.

SELECT-OPTIONS: TO_LANG FOR THEAD-TDSPRAS OBLIGATORY.

DATA: T_LAN TYPE STANDARD TABLE OF T002  WITH HEADER LINE,
      LINES TYPE STANDARD TABLE OF TLINE WITH HEADER LINE.

* Get language
SELECT * FROM T002 INTO TABLE T_LAN
  WHERE SPRAS IN TO_LANG.
* Get text
SELECT SINGLE * FROM STXH
  WHERE TDOBJECT = 'TEXT'
    AND TDNAME   = P_TEXT
    AND TDID     = 'ST'
    AND TDSPRAS  = FR_LANG.

IF SY-SUBRC = 0.

  THEAD-TDID     = STXH-TDID.
  THEAD-TDSPRAS  = STXH-TDSPRAS.
  THEAD-TDNAME   = STXH-TDNAME.
  THEAD-TDOBJECT = STXH-TDOBJECT.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      ID       = THEAD-TDID
      LANGUAGE = THEAD-TDSPRAS
      NAME     = THEAD-TDNAME
      OBJECT   = THEAD-TDOBJECT
    TABLES
      LINES    = LINES.

  LOOP AT T_LAN.
    SELECT SINGLE * FROM STXH
      WHERE TDOBJECT = 'TEXT'
        AND TDNAME   = P_TEXT
        AND TDID     = 'ST'
        AND TDSPRAS  = T_LAN-SPRAS.
    IF SY-SUBRC = 0.

      THEAD-TDSPRAS = T_LAN-SPRAS.

      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
          HEADER          = THEAD
          INSERT          = 'X'
          SAVEMODE_DIRECT = 'X'
        TABLES
          LINES           = LINES.

    ENDIF.
  ENDLOOP.
ENDIF.

If you can create the program u need to use trx SE63 in order to translate the text, create the text in other language by SO10

Max

0 Kudos

>

> Suhas,

>

> In that case I need to maintain many translation of the same texts. Becose I want to translate the SO10 text to multiple languages. I'm trying to avoid that.

Anyways even if you use SE63 you need to maintain the translation for each these texts. So what is the flip side to using SO10 for translation?

BR,

Suhas

0 Kudos

I think i would agree with Suhas. Maintaining texts with different languages in SO10 doesnt seem to be much different from translating the texts in SE63 now that i think about it.

But still if you want to use SE63, someone has already mentioned the steps..

Go to translation, select appropriate object (i think its transport object) and then it gives you an option of translating whatever is there in that object.

Thanks,

Bikash

Former Member
0 Kudos

no, it's not possible. you need to translate & maintained that standard text in the target language.

Former Member
0 Kudos

Hi ,

Both will be same either you do in SO10 or SE63 .

Please let me know if you still need any more help.

Thanks and regards.

Rajeshwar.

Former Member
0 Kudos

Hi,

you need to maintain the st.text in different language manually.for your case you need to maintain it both in EN & DE with same text name.

Then you call it through function module READ_TEXT. Here you pass the language dynamically.

ref below exam:

data: i_lines type standard table of tline,

wa_lines type tline.

constants: c_langu like THEAD-TDSPRAS ,

c_name like THEAD-TDNAME value 'Name of the Text'.

c_lang = (pass the language dynamically).

CALL FUNCTION 'READ_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

id = 'ST'

language = c_langu

name = c_name

object = 'TEXT'

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER =

tables

lines = i_lines

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

NOT_FOUND = 4

OBJECT = 5

REFERENCE_CHECK = 6

WRONG_ACCESS_TO_ARCHIVE = 7

OTHERS = 8

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

loop at i_lines into wa_lines.

write:/ wa_lines-tdline.

endloop.

Hope this will solv your problems.

Thanks & Regards

Tutun

Former Member
0 Kudos

Thanks

Former Member
0 Kudos

This message was moderated.