mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
86 lines
1.7 KiB
ABAP
86 lines
1.7 KiB
ABAP
CLASS zcl_abapgit_properties_file DEFINITION
|
|
PUBLIC
|
|
FINAL
|
|
CREATE PUBLIC .
|
|
|
|
PUBLIC SECTION.
|
|
INTERFACES zif_abapgit_i18n_file.
|
|
|
|
CONSTANTS:
|
|
c_properties_feature TYPE string VALUE 'TRANSL'.
|
|
|
|
METHODS constructor
|
|
IMPORTING
|
|
iv_lang TYPE laiso.
|
|
|
|
METHODS parse
|
|
IMPORTING
|
|
iv_xdata TYPE xstring
|
|
RAISING
|
|
zcx_abapgit_exception.
|
|
|
|
METHODS push_text_pairs
|
|
IMPORTING it_translation TYPE string_table.
|
|
|
|
PROTECTED SECTION.
|
|
PRIVATE SECTION.
|
|
|
|
DATA mv_lang TYPE laiso.
|
|
DATA mt_translation TYPE string_table.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS zcl_abapgit_properties_file IMPLEMENTATION.
|
|
|
|
|
|
METHOD constructor.
|
|
mv_lang = to_lower( iv_lang ).
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD parse.
|
|
DATA lv_data TYPE string.
|
|
|
|
lv_data = zcl_abapgit_convert=>xstring_to_string_utf8( iv_xdata ).
|
|
|
|
SPLIT lv_data AT cl_abap_char_utilities=>newline INTO TABLE mt_translation.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD push_text_pairs.
|
|
mt_translation = it_translation.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_i18n_file~ext.
|
|
rv_ext = 'properties'.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_i18n_file~lang.
|
|
rv_lang = mv_lang.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_i18n_file~render.
|
|
DATA: lv_translation TYPE string,
|
|
lo_buf TYPE REF TO zcl_abapgit_string_buffer,
|
|
lv_str TYPE string.
|
|
|
|
lv_translation = concat_lines_of( table = mt_translation
|
|
sep = cl_abap_char_utilities=>newline ).
|
|
CREATE OBJECT lo_buf.
|
|
lo_buf->add( lv_translation ).
|
|
|
|
lv_str = lo_buf->join_w_newline_and_flush( ) && cl_abap_char_utilities=>newline.
|
|
rv_data = zcl_abapgit_convert=>string_to_xstring_utf8( lv_str ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_i18n_file~translate.
|
|
ENDMETHOD.
|
|
ENDCLASS.
|