리소스 (이미지, 파일 등)를 vala로 처리하는 가장 좋은 방법은 무엇입니까? 리소스 관리 시스템이 있습니까? 그리고 응용 프로그램을 현지화하는 가장 좋은 방법은 무엇입니까? .NET 환경에서 Vala를 만나러 왔는데, 로컬 리 제이션과 리소스 관리는 단지 케이크 조각이지만, 현재 Vala에서는 완전히 사라졌습니다.Vala, 리소스 및 현지화
제안 사항?
감사합니다.
리소스 (이미지, 파일 등)를 vala로 처리하는 가장 좋은 방법은 무엇입니까? 리소스 관리 시스템이 있습니까? 그리고 응용 프로그램을 현지화하는 가장 좋은 방법은 무엇입니까? .NET 환경에서 Vala를 만나러 왔는데, 로컬 리 제이션과 리소스 관리는 단지 케이크 조각이지만, 현재 Vala에서는 완전히 사라졌습니다.Vala, 리소스 및 현지화
제안 사항?
감사합니다.
GIO 2.32에서 GResource를 소개했습니다. 발라 문서는 http://valadoc.org/#!api=gio-2.0/GLib.Resource에 있고 C는 GResource에 대한 아이디어는 당신이 그때는 아마 갈 사소한 VAPI를 만들 수 있습니다 (귀하의 발라 응용 프로그램에 포함 할 수있는 C 코드를 생성 할 glib-compile-resources를 사용한다는 것입니다 http://developer.gnome.org/gio/stable/gio-GResource.html
에있다 그것으로). 나는 아직 Vala에서 어떤 예도 알지 못한다 (glib 2.32가 방금 출시되었다). 그러나 꽤 직설적이어야한다.
그러나 전통적으로 Linux의 소프트웨어는 자원을 XDG 디렉토리의 개별 파일에 보관합니다. 경로는 하드 코딩 된 값 및/또는 환경 변수를 기반으로 결정됩니다 ... GLib도이 작업을 쉽게 수행 할 수있는 함수를 포함합니다 (이들은 GLib.Environment 네임 스페이스에 있습니다).
i18n/l10n의 경우 대부분의 소프트웨어에서 gettext를 사용합니다. 함수는 GLib 네임 스페이스 (GLib._, GLib.dgettext, GLib.dngettext 등)에 바인딩됩니다. 유일한 실제 복잡성은 C 레벨 before Vala includes gi18n-lib.h에서 GETTEXT_PACKAGE를 정의해야한다는 것입니다. valac에서 직접 실행 파일을 컴파일하는 경우 -X -DGETTEXT_PACKAGE = foo를 전달하면됩니다. 빌드 시스템을 사용하는 경우 빌드 시스템에서 C 플래그를 추가하는 방법을 알아야합니다 (자동 도구의 경우 * _CFLAGS 변수에 추가하기 만하면됩니다).
그 후, 대부분의 작업은 시스템 통합을 구축하고 C와 유사하게 작동합니다. 사용중인 빌드 시스템을 쉽게 파악할 수 있어야합니다 (Google에서 "gettext autotools"를 예를 들어, 161k 히트를 얻는다).