Текущее время: Сб, июл 26 2025, 04:17

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Перевод текстов
СообщениеДобавлено: Пн, мар 12 2007, 17:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Многие ведут разработку на русском, каждый раз переводить тексты на английский лень, да и часто забывается. При этом, если войти в систему на английском, не только не видны тексты элементов данных на экранах, но и могут пропасть подэкраны целиком.

Кто-нибудь решал эту проблему?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод текстов
СообщениеДобавлено: Пн, мар 12 2007, 17:32 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
sibrin написал:
Многие ведут разработку на русском, каждый раз переводить тексты на английский лень, да и часто забывается. При этом, если войти в систему на английском, не только не видны тексты элементов данных на экранах, но и могут пропасть подэкраны целиком.

Кто-нибудь решал эту проблему?

Хм, а язык оригинала этих подэкранов какой?
И что-бы подъэкран показывался пустым - странно.

PS: Но если в систему люди заходят на английском - то выход один - не лениться и переводить.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 12 2007, 19:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Подэкран не пустой, а вообще не отображается, если его название не переведено. Язык оригинала русский.

Наверное, можно попробовать отчёт rsrefill.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 16:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
rsrefill годится для манданто-зависимых текстов.
А для манданто-независимых руки дошли написать маленькую утилиту.

Code:
REPORT  zlang_tab_copy.

DATA: dfies_tab       TYPE TABLE OF dfies WITH HEADER LINE
    , ltfill_tab TYPE TABLE OF ltfill WITH HEADER LINE
    , dd01l_tab       TYPE TABLE OF dd01l WITH HEADER LINE
    , x030l_wa        TYPE x030l
    , c_datatype      LIKE dd01l-datatype VALUE 'LANG'
    , b
    , eref TYPE REF TO cx_root
    , etext TYPE string.

*************************************************
PARAMETERS: lang_fr TYPE sy-langu DEFAULT 'R'
          , lang_to TYPE sy-langu DEFAULT 'E'
          , test TYPE xfeld DEFAULT 'X'
          .
SELECT-OPTIONS: stabname FOR ltfill_tab-tabname.
*************************************************

REFRESH ltfill_tab.

SELECT dd02l~tabname dd02l~contflag
  FROM dd02l
     INNER JOIN dd09l
        ON dd09l~tabname = dd02l~tabname
       AND dd09l~as4local = dd02l~as4local
       AND dd09l~uebersetz = 'X'
  INTO TABLE ltfill_tab
  WHERE dd02l~as4local = 'A'
    AND dd02l~clidep = ''
    AND dd02l~tabclass IN ('TRANSP', 'POOL', 'CLUSTER')
                      AND dd02l~tabname IN stabname.
*                       AND CONTFLAG IN ('C' , 'E' , 'S' , 'G').
SORT ltfill_tab BY tabname.


SELECT * FROM dd01l INTO TABLE dd01l_tab
                    WHERE datatype = c_datatype.

DATA: keytab TYPE TABLE OF fieldname WITH HEADER LINE
    , dyn_where TYPE string
    , dtr TYPE REF TO data
    , dr_new TYPE REF TO data
    , dtr_new TYPE REF TO data
    .
FIELD-SYMBOLS: <t> TYPE SORTED TABLE
             , <tnew> TYPE SORTED TABLE
             , <l> TYPE ANY
             , <lnew> TYPE ANY
             , <s> TYPE langu
             .

LOOP AT ltfill_tab.
  CALL FUNCTION 'DDIF_FIELDINFO_GET'
    EXPORTING
      tabname        = ltfill_tab-tabname
    IMPORTING
      x030l_wa       = x030l_wa
    TABLES
      dfies_tab      = dfies_tab
    EXCEPTIONS
      not_found      = 1
      internal_error = 2
      OTHERS         = 3.
  IF sy-subrc <> 0.
    DELETE ltfill_tab.
    CONTINUE.
  ENDIF.
  GET BIT 7 OF x030l_wa-flag5 INTO b.
  IF b = 1.   "table contains a STRING or XSTRING field
    DELETE ltfill_tab.
    CONTINUE.
  ENDIF.

  REFRESH keytab.

  LOOP AT dfies_tab.
    IF dfies_tab-keyflag = 'X'.
      keytab = dfies_tab-fieldname.
      APPEND keytab.
    ENDIF.
    IF ltfill_tab-langfname IS INITIAL.
      READ TABLE dd01l_tab WITH KEY domname = dfies_tab-domname.
      IF sy-subrc = 0.
        MOVE dfies_tab-fieldname TO ltfill_tab-langfname.
        MOVE dfies_tab-offset    TO ltfill_tab-langoffset.
      ENDIF.
    ENDIF.
  ENDLOOP.
  MOVE x030l_wa-tablen TO ltfill_tab-tablen.
  MOVE x030l_wa-keylen TO ltfill_tab-keylen.

  IF ltfill_tab-langfname IS INITIAL.
    DELETE ltfill_tab.
    CONTINUE.
  ELSE.
    MODIFY ltfill_tab.
  ENDIF.

  CREATE DATA dtr TYPE SORTED TABLE OF (ltfill_tab-tabname) WITH UNIQUE KEY (keytab).
  CREATE DATA dtr_new TYPE SORTED TABLE OF (ltfill_tab-tabname) WITH UNIQUE KEY (keytab).
  CREATE DATA dr_new TYPE (ltfill_tab-tabname).
  ASSIGN dtr->* TO <t>.
  ASSIGN dtr_new->* TO <tnew>.
  ASSIGN dr_new->* TO <lnew>.


  CONCATENATE ltfill_tab-langfname ` in ('` lang_fr `', '` lang_to `')` INTO dyn_where.
  IF ltfill_tab-tabname = 'D020T'.
    CONCATENATE dyn_where ` and DYNR <> '1000'` INTO dyn_where.
  ENDIF.
  SELECT *
    INTO TABLE <t>
    FROM (ltfill_tab-tabname)
    WHERE (dyn_where).
  IF sy-subrc = 0.
    LOOP AT <t> ASSIGNING <l>.
      ASSIGN COMPONENT ltfill_tab-langfname OF STRUCTURE <l> TO <s>.
      IF <s> = lang_fr.
        <lnew> = <l>.
        ASSIGN COMPONENT ltfill_tab-langfname OF STRUCTURE <lnew> TO <s>.
        <s> = lang_to.
        READ TABLE <t> FROM <lnew> TRANSPORTING NO FIELDS.
        IF sy-subrc <> 0.
          APPEND <lnew> TO <tnew>.
        ENDIF.
        "      ELSEIF <s> = lang_to.
      ENDIF.
    ENDLOOP.
    IF <tnew> IS INITIAL.
      DELETE ltfill_tab.
      CONTINUE.
    ELSE.
      ltfill_tab-entries = LINES( <tnew> ).
      MODIFY ltfill_tab.
      TRY.
          IF test = ''.
            INSERT (ltfill_tab-tabname) FROM TABLE <tnew>.
            COMMIT WORK.
          ENDIF.
        CATCH cx_root INTO eref.
          REFRESH <tnew>.
          etext = eref->get_text( ).
          WRITE: / ltfill_tab-tabname, ` `, etext.
      ENDTRY.
      REFRESH <tnew>.
    ENDIF.
  ELSE.
    DELETE ltfill_tab.
    CONTINUE.
  ENDIF.

ENDLOOP.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
  EXPORTING
    i_structure_name = 'LTFILL'
  TABLES
    t_outtab         = ltfill_tab
  EXCEPTIONS
    program_error    = 1
    OTHERS           = 2.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 16:36 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Наверно нужно новые записи сразу в транспорт вставлять.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 01 2007, 08:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Наверно нужно новые записи сразу в транспорт вставлять.
Не только не нужно, но даже нельзя и невозможно.

Не нужно, потому что заходить в тест и продуктив на английском большой нужды нет. Это нужно в основном разработчикам, чтобы иметь под рукой документацию и чтобы видеть на экране те же термины, что в документации, а не их кривой перевод. Консультанты и пользователи, как правило, обучаются по русским материалам и им, наоборот, очень не удобен английский.

Нельзя, потому что модификация саповских таблиц в общем-то штука незаконная, тем более что данная задача затрагивает все классы поставки таблиц.

Невозомжно, потому что в транспорт можно включить содержимое далеко не всех классов поставки.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 01 2007, 10:00 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Ок, спасибо, понятно. Утилита для облегчения жизни разработчиков в DEV.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB