2017.02.19 01:07


Color 지정방법에 대한 다양한 방법 소개


You can use various functions from the Color class to get the same effect of course.

  • holder.text.setTextColor(Color.RED);

  • Color.parseColor (Manual) (like LEX uses)

    text.setTextColor(Color.parseColor("#FFFFFF"));
  • Color.rgb and Color.argb (Manual rgb) (Manual argb) (like Ganapathy uses)

    holder.text.setTextColor(Color.rgb(200,0,0));
    holder.text.setTextColor(Color.argb(0,200,0,0));
  • And of course, if you want to define your color in an XML file, you can do this:

    <color name="errorColor">#f00</color>

    because the getColor() function is deprecated1, you need to use it like so:

    ContextCompat.getColor(context, R.color.your_color);
  • You can also insert plain HEX, like so:

    myTextView.setTextColor(0xAARRGGBB);

    Where you have an alpha-channel first, then the color value.

Check out the complete manual of course, public class Color extends Object.


https://developer.android.com/reference/android/graphics/Color.html#parseColor(java.lang.String)



저작자 표시
신고


Posted by injunech
2017.02.15 09:31


타이젠 네이티브 앱을 개발하려면 네이티브 API를 사용해야합니다.

그리고 일부 네이티브 API는 별도의 Privilege 권한이 있어야 사용할 수 있습니다.


타이젠 네이티브 API에 어떤 Privilege가 있는지 살펴보고,

어떤 식으로 관리되고 있는지 훔쳐보도록 하겠습니다.


Tizen 2.3으로 오픈된 소스를 기반으로 정리하였습니다.



타이젠 SDK에서 관리하는 Privilege를 찾아보았습니다.

git://review.tizen.org/sdk/doc/content의 master브랜치,

api-reference/native/tools/privilege_desc.txt 파일에 Privilege가 명시되어 있습니다.

privilege_desc.txt를 그대로 가져오고,

각각 한글로 간단하게 번역해두었습니다.


http://tizen.org/privilege/account.read
Allows the application to read accounts.
계정을 읽을 수 있습니다.

http://tizen.org/privilege/account.write    
Allows the application to create, update, and delete accounts.    
계정을 생성, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/alarm    
Allows the application to set an alarm and wake the device up at the scheduled time.    
알람을 설정하고 디바이스를 알람시간에 깨울 수 있습니다.

http://tizen.org/privilege/application.launch    
Allows the application to be opened conditionally or to open another application.    
앱을 상황에 맞게 열거나 다른 앱을 런칭할 수 있습니다.

http://tizen.org/privilege/appmanager.kill    
Allows the application to close another application.
다른 앱을 닫을 수 있습니다.

http://tizen.org/privilege/appmanager.launch    
Allows the application to manage another application opening conditionally.    
다른 앱을 조건에 맞게 열 수 있습니다.

http://tizen.org/privilege/appmanager.setting    
Allows the application to read and update default application preferences.    
디폴트 앱의 설정을 읽고 수정할 수 있습니다.

http://tizen.org/privilege/appsetting    
Allows the application to manage application settings.
앱의 설정을 관리할 수 있습니다.    

http://tizen.org/privilege/appusage    
Allows the application to receive notifications about foreground application changes.    
foreground에 있는 앱의 변화를 받을 수 있습니다.

http://tizen.org/privilege/appwidgetprovider.install    
Allows the application to add Dynamic Box to the home screen.    
다이나믹박스를 홈스크린에 추가할 수 있습니다.

http://tizen.org/privilege/audiomanager.route    
Allows the application to set audio input and output routes and receive notifications about route events.    
오디오 입출력 경로를 설정하고 경로이벤트에 대한 알림을 받을 수 있습니다.

http://tizen.org/privilege/audiorecorder    
Allows the application to manage audio recording.    
오디오레코딩을 관리할 수 있습니다.

http://tizen.org/privilege/bluetooth.admin    
Allows the application to change Bluetooth settings, such as turning Bluetooth on or off, and setting the local device name.    
블루투스 설정을 변경할 수 있습니다. - 블루투스 on / off, 로컬 디바이스 이름 변경

http://tizen.org/privilege/bluetooth.gap    
Allows the application to use the Generic Access Profile (GAP), for example, to scan for and pair devices.    
Generic Access Profile(GAP)을 사용할 수 있습니다. - 페어 디바이스를 스캔하기 등

http://tizen.org/privilege/bluetooth.health    
Allows the application to use the Health Device Profile (HDP), for example, to send health data.    
Health Device Profile을 사용할 수 있습니다. - 헬스 데이타 보내기 등

http://tizen.org/privilege/bluetooth.opp    
Allows the application to use the Object Push Profile (OPP), for example, to send files.
Object Push Profile을 사용할 수 있습니다. - 파일 보내기 등

http://tizen.org/privilege/bluetooth.spp    
Allows the application to use the Serial Port Profile (SPP), for example, to send serial data.    
Serial Port Profile을 사용할 수 있습니다. - 시리얼 데이타 보내기 등

http://tizen.org/privilege/bluetoothmanager    
Allows the application to change Bluetooth system settings related to privacy and security, such as the visible mode.    
블루투스 시스템 설정(프라이버시, 시큐리티)을 변경할 수 있습니다. - visible 모드 등

http://tizen.org/privilege/bookmark.read    
Allows the application to read bookmarks.    
북마크를 읽을 수 있습니다.

http://tizen.org/privilege/bookmark.write    
Allows the application to create, update, and delete bookmarks.    
북마크를 생성, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/calendar.read    
Allows the application to read schedule and task information.    
스케쥴과 업무 정보를 읽을 수 있습니다.

http://tizen.org/privilege/calendar.write
Allows the application to create, update, and delete schedule and task information.    
스캐쥴과 업무 정보를 생성, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/callforward
Allows the application to control the call forwarding service.    
콜 포워딩 서비스를 컨트롤할 수 있습니다.

http://tizen.org/privilege/camera
Allows the application to manage device cameras to preview and capture pictures.
프리뷰를 보고 사진을 찍을 수 있습니다.

http://tizen.org/privilege/cellbroadcast
Allows the application to manage the Cell Broadcast Service (CBS).    
Cell Broadcast Service를 관리할 수 있습니다.

http://tizen.org/privilege/certificate.read
Allows the application to read certificates.    
인증서를 읽을 수 있습니다.

http://tizen.org/privilege/certificate.write
Allows the application to add, update, and delete certificates.    
인증서를 추가, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/contact.read
Allows the application to read contacts.
연락처 정보를 읽을 수 있습니다.

http://tizen.org/privilege/contact.write
Allows the application to add, update, and delete contacts.    
연락처 정보를 추가, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/content.read
Allows the application to read content.    
컨텐츠를 읽을 수 있습니다.

http://tizen.org/privilege/content.write
Allows the application to create, update, and delete content.    
컨텐츠를 추가, 수정, 삭제할 수 있습니다.

http://tizen.org/privilege/customnetaccount
Allows the application to use the Internet with a specified bearer.
특정 배러와 함께 인터넷을 사용할 수 있습니다.

http://tizen.org/privilege/datacontrol.consumer
Allows the application to access specific data exported by other applications.
다른 앱이 준 데이타에 접근할 수 있습니다.

http://tizen.org/privilege/dns
Allows the application to provide the Domain Name Service (DNS).    
Domain Name Service를 제공할 수 있습니다.

http://tizen.org/privilege/download
Allows the application to manage HTTP downloads.    
HTTP 다운로드를 관리할 수 있습니다.

http://tizen.org/privilege/geolocationpermission.read
Allows the application to read geolocation permissions.    
지리정보 권한을 읽을 수 있습니다.

http://tizen.org/privilege/geolocationpermission.write
Allows the application to delete geolocation permissions.    
지리정보 권한을 지울 수 있습니다.

http://tizen.org/privilege/http
Allows the application to communicate with the HTTP server.    
HTTP 서버와 통신할 수 있습니다.

http://tizen.org/privilege/ime
Allows the application to provide a way to input characters and symbols into an associated input field.    
소프트웨어 키보드를 제공할 수 있습니다.

http://tizen.org/privilege/imemanager
Allows the application to manage the installed input methods.    
설치된 소프트웨어 키보드를 관리할 수 있습니다.


http://tizen.org/privilege/inputmanager
Allows the application to generate touch and key events, and capture screens.    
터치, 키 이벤트를 만들고 스크린을 캡쳐할 수 있습니다.


http://tizen.org/privilege/location
Allows the application to use the user location data.  
유저의 지리데이터를 이용할 수 있습니다.  

http://tizen.org/privilege/lockmanager
Allows the application to unlock the device.    
디바이스를 언락할 수 있습니다.

http://tizen.org/privilege/messaging.read
Allows the application to receive messages, and to retrieve messages from the message boxes.    
메시지를 받고 메시지박스에서 메시지를 긁어올 수 있습니다.

http://tizen.org/privilege/messaging.write
Allows the application to write SMS, MMS, and email messages.    
SMS, MMS와 이메일을 쓸 수 있습니다.

http://tizen.org/privilege/netstatisticsmanager
Allows the application to reset network statistics.    
네트워크 정보를 리셋할 수 있습니다.

http://tizen.org/privilege/network.account
Allows the application to manage network accounts.    
네트워크 계정을 관리할 수 있습니다.

http://tizen.org/privilege/network.connection
Allows the application to manage network connections.    
네트워크 커넥션을 관리할 수 있습니다.

http://tizen.org/privilege/network.statistics
Allows the application to read network statistics.    
네트워크 정보를 읽을 수 있습니다.

http://tizen.org/privilege/networkmanager
Allows the application to update system network accounts.
시스템 네트워크 계정을 수정할 수 있습니다.

http://tizen.org/privilege/nfc.admin
Allows the application to change NFC settings, such as turning NFC on or off.    
NFC 설정을 변경할 수 있습니다. - NFC on / off

http://tizen.org/privilege/nfc.common
Allows the application to use NFC common features.    
NFC 공통 기능을 사용할 수 있습니다.

http://tizen.org/privilege/nfc.p2p
Allows the application to push NFC messages to other devices.    
다른 기기에 NFC 메시지를 푸쉬할 수 있습니다.

http://tizen.org/privilege/nfc.tag
Allows the application to read and write NFC tag information.    
NFC 태그정보를 읽고 쓸 수 있습니다.

http://tizen.org/privilege/nfcmanager
Allows the application to change NFC system settings, such as turning on or off reserved push, which sends predefined NDEF messages.    
NFC 시스템 설정을 변경할 수 있습니다. - 예약 푸쉬를 on / off 하기

http://tizen.org/privilege/notification
Allows the application to provide user notifications, such as messages and badges.    
유저 알림을 제공할 수 있습니다. - 메시지나 배지

http://tizen.org/privilege/package.info
Allows the application to receive package information.    
패키지 정보를 받을 수 있습니다.

http://tizen.org/privilege/packagemanager.info
Allows the application to receive detailed package information.    
자세한 패키지 정보를 받을 수 있습니다.

http://tizen.org/privilege/packagemanager.install
Allows the application to install or uninstall application packages.    
앱 패키지를 설치 혹은 삭제할 수 있습니다.

http://tizen.org/privilege/packagemanager.setting
Allows the application to set package configurations.    
패키지 설정값을 변경할 수 있습니다.

http://tizen.org/privilege/power
Allows the application to hold and control power states.    
파워 상태를 유지하거나 조절할 수 있습니다.

http://tizen.org/privilege/privacymanager.read
Allows the application to read privacy settings.    
프라이버시 설정값을 읽을 수 있습니다.

http://tizen.org/privilege/privacymanager.write
Allows the application to change privacy settings.   
프라이버시 설정을 변경할 수 있습니다.  

http://tizen.org/privilege/privilegemanager.read
Allows the application to read privilege information.    
프라이버스 정보를 읽을 수 있습니다.

http://tizen.org/privilege/push
Allows the application to receive push notifications.    
푸쉬 알림을 받을 수 있습니다.

http://tizen.org/privilege/secureelement
Allows the application to access to secure smart card chip such as UICC/SIM, embedded secure element, or secure SD card.    
UICC/SIM 카드에 접근할 수 있습니다.

http://tizen.org/privilege/setting
Allows the application to update or read user settings.    
유저 설정을 읽거나 수정할 수 있습니다.

http://tizen.org/privilege/settingmanager.read
Allows the application to read security or privacy settings.    
시큐리티나 프라이버시 설정을 읽을 수 있습니다.

http://tizen.org/privilege/settingmanager.write
Allows the application to change security or privacy settings.    
시큐리티나 프라이버시 설정을 변경할 수 있습니다.

http://tizen.org/privilege/shortcut.install
Allows the application to add and remove shortcuts from the home screen.    
홈스크린에서 숏컷을 추가 혹은 삭제할 수 있습니다.

http://tizen.org/privilege/smstrigger
Allows the application to receive SMS messages from a specified port.
특정 포트로부터 SMS 메시지를 받을 수 있습니다.

http://tizen.org/privilege/socket
Allows the application to communicate with other devices and servers.
다른 디바이스나 서버와 통신할 수 있습니다.

http://tizen.org/privilege/system
Allows the application to access system information.
시스템 정보에 접근할 수 있습니다.

http://tizen.org/privilege/systemmanager
Allows the application to access secure system information.
보안 시스템 정보에 접근할 수 있습니다.

http://tizen.org/privilege/telephony
Allows the application to retrieve telephony information, such as network, SIM, and call details.
텔레포니 정보를 긁어올 수 있습니다. - Network, SIM, Call 상제정보

http://tizen.org/privilege/telephonymanager
Allows the application to configure the mobile networks.
모바일 네트워크를 설정할 수 있습니다.


http://tizen.org/privilege/uimanager
Allows the application to manage UI properties.    
UI 속성을 관리할 수 있습니다.

http://tizen.org/privilege/userprofile.read
Allows the application to read the user profile.
유저 프로파일을 읽을 수 있습니다.

http://tizen.org/privilege/userprofile.write
Allows the application to manage the user profile.
유저 프로파일을 관리할 수 있습니다.

http://tizen.org/privilege/vibrator
Allows the application to turn on and use vibrate.
진동키능을 켜겨나 사용할 수 있습니다.

http://tizen.org/privilege/videorecorder
Allows the application to manage video recording with the camera.
카메라를 사용하여 비디오 녹화를 할 수 있습니다.

http://tizen.org/privilege/wappush
Allows the application to manage WAP push messages.
WAP 푸쉬 메시지를 관리할 수 있습니다.

http://tizen.org/privilege/web.privacy
Allows the application to manage the user data stored by the Web control or browser.
웹컨트롤이나 브라우저에서 저장된 유저데이터를 관리할 수 있습니다.

http://tizen.org/privilege/web.service
Allows the application to display Web content or use the Web content-related API.
웹컨텐트를 표시하고 웹컨텐트 관련 함수를 사용할 수 있습니다.

http://tizen.org/privilege/wifi.admin
Allows the application to manage Wi-Fi on the device, such as turning Wi-Fi on or off, and connecting to AP.
Wi-Fi를 관리할 수 있습니다. - 와이파이를 on / off 하고, AP에 접속하기

http://tizen.org/privilege/wifi.read
Allows the application to request Wi-Fi information.
Wi-Fi 정보를 요청할 수 있습니다.

http://tizen.org/privilege/wifi.wifidirect.admin
Allows the application to manage Wi-Fi Direct on the device.
Wi-Fi Direct 기능을 관리할 수 있습니다.

http://tizen.org/privilege/wifi.wifidirect.read
Allows the application to request Wi-Fi Direct information.
Wi-Fi Direct 정보를 요청할 수 있습니다.

http://tizen.org/privilege/wifimanager
Allows the application to manage the Wi-Fi system settings, such as updating AP information.
Wi-Fi 시스템 설정을 관리할 수 있습니다. - AP 정보 갱신 등


위에서 기술된 Privilege를 앱에서 사용하는 것이지요.

플랫폼 버전마다 사용할 수 있는 Privilege는 다를 수 있습니다.


SDK에서 개발할 때는,

- Project Explorer에서 자신의 프로젝트 내에 있는 tizen-manifest.xml 선택

- Tizen Manifest Editor에서 Privileges 탭 선택

- Add 버튼을 눌러 Privilege를 추가할 수 있습니다.



SDK 외부에서 개발할 경우에는,

각 앱의 xml파일에 직접 Privilege를 기술해야 합니다.


<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.data-provider-slave" version="1.0.0" install-location="auto" support-mode="screen-reader">
    <!-- ... 생략 ... -->
    <ui-application appid="org.tizen.data-provider-slave" exec="/usr/apps/org.tizen.data-provider-slave/bin/data-provider-slave" nodisplay="true" multiple="true" type="capp" taskmanage="false">
    <!-- ... 생략 ... -->
    </ui-application>
    <privileges>
        <privilege>http://tizen.org/privilege/location</privilege>
        <privilege>http://developer.samsung.com/tizen/privilege/privacymanager.read</privilege> <!-- weather -->
    </privileges>
    <!-- ... 생략 ... -->
</manifest>


위의 코드는 git://review.tizen.org/apps/livebox/data-provider-slave의 tizen_2.3 브랜치,

org.tizen.data-provider-slave.xml 파일에서 따왔습니다.

SDK 외부에서 개발하는 앱은 위처럼 자신에게 필요한 Privilege를 xml 파일에 직접 추가해야 하지요.


Security/Tizen 2.X smack-privilege-config


앱에 추가된 Privilege는,

앱이 설치되는 시점에 Privilege 레벨에서 Smack 레벨로 변경됩니다.


git://review.tizen.org/framework/security/smack-privilege-config의 tizen_2.3 브랜치,

permissions_mobile/permissions_2_3_0 디렉토리에는 수많은 *.smack 파일이 있습니다.

그 중 EFL_org.tizen.privilege.camera.smack 파일을 열어보겠습니다.


~APP~ device::camera rw----
~APP~ mm_qcamera_daemon -w----
~APP~ privilege::tizen::camera rw----
~APP~ system::vconf_multimedia rw----


카메라를 사용하기 위해 필요한 스맥룰이 명시되어 있습니다.

~APP~은 위의 privilege를 설정한 앱의 스맥레이블로 치환될 것입니다.

간단히 내용을 살펴보면,

device::camera에 접근하기 위한 읽고 쓰는 권한,

mm_qcamera_daemon에 쓰기 권한,

privilege::tizen::camera를 읽고 쓰는 권한,

system::vconf_multimedia를 읽고 쓰는 권한 등의 스맥권한을 부여합니다.


이렇게 부여된 스맥레이블은,

네이티브 API가 사용하는 파일/디렉토리 등에 접근할 수 있게 할겁니다.

만약 제대로된 스맥레이블 없이 파일/디렉토리에 접근하려하면 Permission denied 에러가 나오겠죠.


git://review.tizen.org/framework/security/privilege-checker의 tizen_2.3 브랜치,

capi/src/privilege_checker.c 소스를 살펴보면,

앱이 Privilege를 가지고 있는지 여부를 직접 체크하는 부분도 있습니다.


int privilege_checker_check_package_privilege(const char* package_id, const char* privilege_name)
{
    // ... 생략 ...
    //find privilege in cache
    for(i=0; i<g_cached_privileges_size; i++)
    {
        if(hash_value == g_cached_privileges[i].hash_value)
        {
            matched_index = i;
            ++matched_cnt;
        }
    }

    if(matched_cnt == 1){
        LOGD("Found cached hash privilege");
        return PRIV_CHECKER_ERR_NONE;

    }
    // ... 생략 ...
    LOGD("Not Found cached privilege");

    // ... 생략 ...
    res = pkgmgrinfo_pkginfo_foreach_privilege(handle, __privilege_checker_privilege_list_by_pkgid_cb, user_data);
    // ... 생략 ...

    TryReturn(g_isMached == true, PRIV_CHECKER_ERR_INVALID_PRIVILEGE, "[PRIV_CHECKER_ERR_INVALID_PRIVILEGE] %s privilege denied", privilege_name);

    return PRIV_CHECKER_ERR_NONE;
}

그래서 API를 수행할 때, API를 호출한 앱의 권한을 체크하여 수행여부를 결정하게 됩니다.

예를 들어,

git://review.tizen.org/framework/api/application의 tizen_2.3 브랜치,

app_control/app_control.c 소스를 보면 Call Operaion로 런칭요청이 온 경우 Privilege가 있는지 체크합니다.


int app_control_send_launch_request(app_control_h app_control, app_control_reply_cb callback, void *user_data)
{
    // ... 생략 ...
    // Check the privilege for call operation
    if (!strcmp(operation, APP_CONTROL_OPERATION_CALL))
    {
    // ... 생략 ...

        ret = privilege_checker_check_package_privilege(pkg_id, "http://tizen.org/privilege/call");
        pkgmgrinfo_appinfo_destroy_appinfo(app_info);
        if (ret != PRIV_CHECKER_ERR_NONE)
        {
            if (ret == PRIV_CHECKER_ERR_INVALID_PRIVILEGE)
            {
                return app_control_error(APP_CONTROL_ERROR_PERMISSION_DENIED, __FUNCTION__, "no privilege for Call operation");
            }
        }
    }
}


Privilege는 Smack으로 치환되어 관리될 수 있고,

Privilege 자체로 관리될 수도 있습니다.


끝_


* SMACK에 대한 이야기를 쌓아본다

http://storycompiler.tistory.com/51


* References

https://wiki.tizen.org/wiki/Security/Tizen_2.X_smack-privilege-config

https://wiki.tizen.org/wiki/Security/Tizen_2.X_cert-svc#Additional_certificate_service_APIs


출처 : http://storycompiler.tistory.com/53

저작자 표시
신고

'Programming > Tizen' 카테고리의 다른 글

[Tizen] 타이젠 Privilege 설정  (0) 2017.02.15


Posted by injunech
2017.01.05 23:31


베토벤9번 '합창'교향곡 4악장






가사


O Freunde, nicht diese Töne
오 프로인데,니히트 디제 퇴네
Sondern laßt uns angenehmere anstimmen
존던 라쓰트 운스 안게네메레 안슈팀멘

und freudonvollere.
운트 프로이덴폴레레.
Freude! Freude!
프로이데!프로이데!

Freude, schöner Götterfunken
프로이데,쉐너 괴터풍켄 
Tochter aus Elysium,
토흐터 아우스 엘릐지움,
Wir betreten feuertrunken,
비어 베트레텐 포이어트룽켄,
Himmlische, dein Heiligtum!
힘믈리쉐,다인 하일리히툼!

Deine Zauber binden wieder
다이네 차우버 빈덴 비더
Was die Mode streng geteilt;
바스 디 모데 슈트렝 게타일트;
Alle Menschen werden Brüder,
알레 멘쉔 베어덴 브뤼더,
(Schiller: Was der Mode Schwert geteilt;
(쉴러:바스 데어 모데 슈베어트 게타일트;
Bettler werden Fürstenbrüder,)
베틀러 베어덴 퓨어스텐브뤼더,)
Wo dein sanfter Flügel weilt.
보 다인 잔프터 플뤼겔 바일트.
Chor
코어

Seid umschlungen, Millionen!
자이트 움슐룽엔,밀리오넨!
Diesen Kuss der ganzen Welt!
디젠 쿠스 데어 간첸 벨트!
Brüder - über'm Sternenzelt
브뤼더-위범 슈테어넨첼트
Muss ein lieber Vater wohnen.
무스 아인 리버 파터 보넨.
Ihr stürzt nieder, Millionen?
이어 슈튜어츠트 니더 ,밀리오넨?

Ahnest du den Schöpfer, Welt
아네스트 두 덴 쇱퍼,벨트

Such' ihn über'm Sternenzelt!
주흐 인 위범 슈테어넨첼트!
Über Sternen muss er wohnen.
위버 슈테어넨 무스 에어 보넨.

Wem der große Wurf gelungen,
벰 데어 그로쎄 부어프 게룽엔,
Eines Freundes Freund zu sein;
아이네스 프로인데스 프로인트 추 자인;
Wer ein holdes Weib errungen,
베어 아인 홀데스 바입 에어룽엔,
Mische seinen Jubel ein!
미쉐 자이넨 유벨 아인!
Ja, wer auch nur eine Seele
야,베어 아우흐 투어 아이네 젤레

Sein nennt auf dem Erdenrund!
자인 넨트 아우프 뎀 에어덴룬트!
Und wer's nie gekonnt, der stehle
운드 베어스 니 게콘트,데어 슈텔레
Weinend sich aus diesem Bund!
바이넨트 지히 아우스 디젬 분트!

Freude trinken alle Wesen
프로이데 트링켄 알레 베젠
An den Brüsten der Natur;
안 덴 브류스텐 데어 나투어;
Alle Guten, alle Bösen
알레 구텐,알레 뵈젠
Folgen ihrer Rosenspur.
폴겐 이어러 로젠슈푸어.
Küsse gab sie uns und Reben,
퀴쎄 갑 지 운스 운트 레벤,

Einen Freund, geprüft im Tod;
아이넨 프로인트,게프뤼프트 임 톹;
Wollust ward dem Wurm gegeben,
볼루스트 바트 뎀 부엄 게게벤,
Und der Cherub steht vor Gott.
운트 데어 케룹 슈테트 포어 곹.

Froh, wie seine Sonnen fliegen
프로,비 자이네 존넨 플리겐
Durch des Himmels prächt'gen Plan,
두어히 데스 힘멜스 프래힡겐 플란,
Laufet, Brüder, eure Bahn,
라우페트,브뤼더,오이레 반,
Freudig, wie ein Held zum Siegen.
프로이디히,비 아인 헬트 춤 지겐.
Seid umschlungen, Millionen!
자이트 움슐룽엔,밀리오넨!
Diesen Kuss der ganzen Welt!
디젠 쿠스 데어 간첸 벨트!
Brüder, über'm Sternenzelt
브뤼더,위범 슈테아넨첼트
Muss ein lieber Vater wohnen.
무스 아인 리버 파터 보넨.
Ihr stürzt nieder, Millionen?
이어 슈튀어츠트 니더,밀리오넨?
Ahnest du den Schöpfer, Welt?
아네스트 두 덴 쇱퍼,벨트?
Such' ihn über'm Sternenzelt!
주흐 인 위붐 슈테아넨첼트
Über Sternen muss er wohnen.
위버 슈테아넨 무스 에어 보넨
(Finale repeats the words:)
Seid umschlungen, Millionen!
자이트 움슐룽엔, 밀리오넨! 
Diesen Kuss der ganzen Welt!
디젠 쿠스 데어 간첸 벨트! 
Brüder, über'm Sternenzelt
브뤼더,위범 슈테아넨첼트
Muss ein lieber Vater wohnen.
무스 아인 리버 파터 보넨.
Seid umschlungen,
자이트 움슐룽엔,
Diesen Kuss der ganzen Welt!
디젠 쿠스 데어 간첸 벨트! 
Freude, schöner Götterfunken
프로이데 , 쉐너 괴터풍켄 
Tochter aus Elysium,
토흐터 아우스 엘릐지움, 
Freude, schöner Götterfunken
프로이데, 쉐너 괴터풍켄



-----------------------------------


가사 번역

 

오 친구들이여, 이러한 소리가 아니라!
우리들은 좀더 기쁜 노래를 부르자
좀더 환희에 넘치는 노래를!


 

환희여, 아름다운 신들의 불꽃과 같은 빛남,
낙원의 딸이여,
우리는 광휘에 취해서 
천사의 당신 성역에 발을 들여 놓는다!
당신의 조화를 다시 결속시켜 놓으리라
이 세상의 풍습이 엄하게 갈라 놓았던 것들을
모든 사람들은 형제가 되어라,
당신의 온유한 날개가 머무는 곳에서.


 

하나하나 친구가 된다는,
커다란 포부를 실현한 사람,
정숙한 아내를 맞이한 사람,
그들은 환호를 울려라!
그렇다. 지구위에서 오로지 하나의 영혼만이라도
그의 것이라 부를 수 있는 사람들도 함께!
하지만 이런 것에 이르지 못한 사람은
눈물흘리며 이 단합에서 물러가야 하리.


 

모든 존재가 환희를 마시는
자연의 가슴에서
모든 선량한 사람, 모든 악인들까지도
그들의 장미꽃 길을 걸으리라.
자연은 우리에게 입맞춤과 포도송이를 주며,
죽음의 시련 겪는 친구들에게도,
한낱 벌레에게 마져 만족이 주어져
그리하여 조물주 앞에는 천사가 서리라!


 

기꺼이, 천상의 거대한 운행을 따라
태양들이 움직이듯
달려가라, 형제여, 그대의 길을,
기뻐하라, 승리를 향해 영웅나가듯,


 

백만의 사람들이여, 너희 껴안으리!
온 세상에 보내는 입맞춤 받으라!
형제여! 별 반짝이는 저 높은 곳에
사랑스런 아버지 꼭 살아계시니
백만의 사람들아, 너희 무릎 꿇었는가?
세상이여, 너 창조주 계심을 깨달았는가?
별 반짝이는 저 높은 곳의 그를 알라!
저 높은 창조주 계시리니


저작자 표시
신고

'Free Board' 카테고리의 다른 글

베토벤9번 합창 교향곡 4악장  (0) 2017.01.05


Posted by injunech

티스토리 툴바