Текущее время: Пн, июл 28 2025, 20:00

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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