00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef UILOCALELOADER_H_
00031 #define UILOCALELOADER_H_
00032
00033 #include <QString>
00034 #include <QStringList>
00035 #include <QDir>
00036
00037 #define NUM_OF_LOCALE_INTEGERS 1 //There's one integer type in the language pack. Use this as an negative offset when pointing to stringlist holding the translated strings
00038 #define NUM_OF_LOCALE_FLOATS 0 //No floats for now. Purpose for this is the same as for integers
00039
00040
00048 class UiLocaleLoader {
00049 public:
00050
00055 enum stringIdentifiers{
00056 APP_LOCALE = 0,
00057
00058 LANG_NAME,
00059 MAIN_WINDOW_TITLE_TEXT,
00060 MAIN_WINDOW_MENU_MENU_TITLE_TEXT,
00061 MAIN_WINDOW_MENU_SETTINGS_TITLE_TEXT,
00062 MAIN_WINDOW_MENU_HELP_TITLE_TEXT,
00063 MAIN_WINDOW_MENU_MENU_OPTION_QUIT_TEXT,
00064 MAIN_WINDOW_MENU_SETTINGS_OPTION_BACKGROUND_TEXT,
00065 MAIN_WINDOW_MENU_SETTINGS_OPTION_EDITOR_TRANSPARENCY_TEXT,
00066 MAIN_WINDOW_MENU_SETTINGS_OPTION_SAVING_SETTINGS_TEXT,
00067 MAIN_WINDOW_MENU_SETTINGS_OPTION_LANGUAGE_TEXT,
00068 MAIN_WINDOW_MENU_SETTINGS_OPTION_BG_ANIMATIONS_TEXT,
00069 MAIN_WINDOW_MENU_SETTINGS_OPTION_BEHAVIOUR_TEXT,
00070 MAIN_WINDOW_MENU_HELP_OPTION_HELP_TEXT,
00071 MAIN_WINDOW_MENU_HELP_OPTION_ABOUT_TEXT,
00072 MAIN_WINDOW_ADD_PICTURE_PUSH_BUTTON_TOOL_TIP,
00073 MAIN_WINDOW_TOGGLE_FULL_SCREEN_PUSH_BUTTON_TOOL_TIP,
00074 MAIN_WINDOW_BOLD_PUSH_BUTTON_TOOL_TIP,
00075 MAIN_WINDOW_UNDERLINE_PUSH_BUTTON_TOOL_TIP,
00076 MAIN_WINDOW_ITALIC_PUSH_BUTTON_TOOL_TIP,
00077 MAIN_WINDOW_FONT_SIZE_SPIN_BOX_PUSH_BUTTON_TOOL_TIP,
00078 MAIN_WINDOW_COLOR_SELECTION_PUSH_BUTTON_TOOL_TIP,
00079 MAIN_WINDOW_COLOR_SELECTION_PUSH_BUTTON_TEXT,
00080 MAIN_WINDOW_FONT_COMBO_BOX_TOOL_TIP,
00081 MAIN_WINDOW_EDIT_GLOBAL_PLAYLIST_PUSH_BUTTON_TOOL_TIP,
00082 MAIN_WINDOW_EDIT_LOCAL_PLAYLIST_PUSH_BUTTON_TOOL_TIP,
00083 MAIN_WINDOW_CALENDAR_TAB_TITLE,
00084 MAIN_WINDOW_ENTRYLIST_TAB_TITLE,
00085 SEARCH,
00086
00087 CHOOSE_PICTURE_TO_ADD_TO_ENTRY_DIALOG_CAPTION,
00088
00089 CHOOSE_MAIN_WINDOW_BACKGROUND_PICTURE_DIALOG_CAPTION,
00090
00091 SYSTEM_TRAY_ICON_TOOLTIP,
00092 SYSTEM_TRAY_ICON_MENU_TITLE,
00093 SYSTEM_TRAY_ICON_MENU_ENTRY_SHOW_OR_HIDE_MAIN_WINDOW,
00094 SYSTEM_TRAY_ICON_MENU_ENTRY_QUIT_PROGRAM,
00095 SYSTEM_TRAY_ICON_MENU_ENTRY_PLAY_PAUSE,
00096 SYSTEM_TRAY_ICON_MENU_ENTRY_STOP_PLAYING,
00097 SYSTEM_TRAY_ICON_MENU_ENTRY_PLAY_NEXT,
00098 SYSTEM_TRAY_ICON_MENU_ENTRY_PLAY_PREVIOUS,
00099 SYSTEM_TRAY_ICON_MENU_ENTRY_SHOW_PLAYLIST,
00100
00101 HELP_DIALOG_CAPTION,
00102 ABOUT_DIALOG_CAPTION,
00103
00104 PICTURE_RESIZE_DIALOG_CAPTION,
00105 PICTURE_RESIZE_DIALOG_MAINTAIN_ASPECT_RATIO_LABEL,
00106 PICTURE_RESIZE_DIALOG_WIDTH_SLIDER_LABEL,
00107 PICTURE_RESIZE_DIALOG_HEIGHT_SLIDER_LABEL,
00108
00109 LANGUAGE_DIALOG_CAPTION,
00110 LANGUAGE_DIALOG_LANGUAGE_NAME_LIST_TITLE,
00111 LANGUAGE_DIALOG_LOCALE_LIST_TITLE,
00112 LANGUAGE_DIALOG_APPLY_PUSH_BUTTON_TEXT,
00113 LANGUAGE_DIALOG_CANCEL_PUSH_BUTTON_TEXT,
00114 LANGUAGE_DIALOG_OK_PUSH_BUTTON_TEXT,
00115
00116 EDITOR_TRANSPARENCY_DIALOG_CAPTION,
00117 RED,
00118 GREEN,
00119 BLUE,
00120 COLOR,
00121 TRANSPARENCY,
00122
00123 SAVING_SETTINGS_DIALOG_CHANGE_FOLDER,
00124 SAVING_SETTINGS_DIALOG_DISK_USAGE_LABEL_TEXT,
00125 SAVING_SETTINGS_DIALOG_DISK_USAGE_WARN_LIMIT_LABEL_TEXT,
00126 CLOSE,
00127 SAVING_SETTINGS_DISK_STATISTICS_CAPTION,
00128 DISK_SIZE,
00129 FREE_SPACE,
00130 CURRENT_SAVING_FOLDER,
00131 SAVING_SETTINGS_DIALOG_TITLE_TEXT,
00132 MOVE_EXISTING_DIARY_CHECKBOX_LABEL_TEXT,
00133 CHOOSE_FOLDER,
00134
00135 GENERAL_BEHAVIOUR_DIALOG_TITLE_TEXT,
00136 GENERAL_BEHAVIOUR_POPUPS_SHOW_NOW_PLAYING,
00137 GENERAL_BEHAVIOUR_POPUPS_SHOW_NOW_PLAYING_TOOLTIP,
00138 GENERAL_BEHAVIOUR_POPUPS_SHOW_STILL_RUNNING,
00139 GENERAL_BEHAVIOUR_POPUPS_SHOW_STILL_RUNNING_TOOLTIP,
00140 GENERAL_BEHAVIOUR_NETWORK_ALLOW_DOWNLOAD_PICTURE,
00141 GENERAL_BEHAVIOUR_NETWORK_ALLOW_DOWNLOAD_PICTURE_TOOLTIP,
00142 GENERAL_BEHAVIOUR_NETWORK_ALLOW_CHECK_UPDATE,
00143 GENERAL_BEHAVIOUR_NETWORK_ALLOW_CHECK_UPDATE_TOOLTIP,
00144
00145 MOVING_EXISTING_DIARY_DIALOG_TITLE_TEXT,
00146 MOVING_EXISTING_DIARY_WAIT_FOR_IT_TEXT,
00147 MOVING_EXISTING_DIARY_OK_TO_CLOSE_TEXT,
00148 MOVING_EXISTING_DIARY_STATE_CALCULATING_NEEDED_SPACE_TEXT,
00149 MOVING_EXISTING_DIARY_STATE_MOVING_DIARY_TEXT,
00150 MOVING_EXISTING_DIARY_STATE_READY_TEXT,
00151 MOVING_EXISTING_DIARY_STATE_NO_SPACE_ERROR_TEXT,
00152 MOVING_EXISTING_DIARY_STATE_CANCELLED_TEXT,
00153 MOVING_EXISTING_DIARY_FROM_TEXT,
00154 MOVING_EXISTING_DIARY_TO_TEXT,
00155 CANCELLING_IN_PROGRESS_TEXT,
00156
00157 MPLAYER_PROGRESS_SLIDER_TOOL_TIP,
00158 MPLAYER_VOLUME_SLIDER_TOOL_TIP,
00159 MPLAYER_MUTE_BUTTON_TOOL_TIP,
00160 MPLAYER_PLAY_PAUSE_BUTTON_TOOL_TIP,
00161 MPLAYER_STOP_BUTTON_TOOL_TIP,
00162 MPLAYER_NEXT_BUTTON_TOOL_TIP,
00163 MPLAYER_PREVIOUS_BUTTON_TOOL_TIP,
00164 MPLAYER_OPEN_FILE_BUTTON_TOOL_TIP,
00165 MPLAYER_TOGGLE_FULLSCREEN_BUTTON_TOOL_TIP,
00166
00167 GLOBAL_PLAYLIST_EDITOR_DIALOG_TITLE_TEXT,
00168 PLAYLIST_LIST_FILE_NAME_HEADER_TEXT,
00169 PLAYLIST_LIST_FILE_LOCATION_HEADER_TEXT,
00170 PLAYLIST_LIST_TOOL_TIP,
00171 PLAYLIST_REMOVE_SELECTED_FROM_LIST_BUTTON_TEXT,
00172 PLAYLIST_ADD_FOLDERS_TO_PLAYLIST_BUTTON_TEXT,
00173 PLAYLIST_ADD_FILES_TO_PLAYLIST_BUTTON_TEXT,
00174 PLAYLIST_RANDOM_ORDER_CHECK_BOX_TEXT,
00175
00176 LOCAL_PLAYLIST_EDITOR_DIALOG_TITLE_TEXT,
00177
00178 FAILED_TO_OPEN_MPLAYER_ERROR_MESSAGE,
00179
00180 COPYING_SELECTED_FILES_DIALOG_TITLE_TEXT,
00181 COPYING_SELECTED_FILES_STOP_BUTTON_TEXT,
00182 COPYING_SELECTED_FILES_HIDE_BUTTON_TEXT,
00183 COPYING_SELECTED_FILES_STOP_BUTTON_STOPPING_TEXT,
00184
00185 DIARY_IS_STILL_RUNNING_POPUP_TITLE,
00186 DIARY_IS_STILL_RUNNING_POPUP_MESSAGE,
00187
00188 DIARY_ENTRY_STORAGE_PATH_DOES_NOT_EXIST_HEAD,
00189 DIARY_ENTRY_STORAGE_PATH_DOES_NOT_EXIST_TAIL,
00190
00191 LOW_DISK_SPACE_WARNING_TITLE,
00192 LOW_DISK_SPACE_WARNING_HEAD,
00193 LOW_DISK_SPACE_WARNING_TAIL,
00194
00195 FREE,
00196 NEEDED,
00197
00198 NOT_ENOUGH_DISK_SPACE_ERROR_HEAD,
00199 NOT_ENOUGH_DISK_SPACE_ERROR_TAIL,
00200
00201 BACKGROUND_ANIMATION_DIALOG_CAPTION,
00202 BACKGROUND_ANIMATION_DIALOG_USE_ANIMATIONS_BG_PICTURE,
00203 BACKGROUND_ANIMATION_DIALOG_ANIMATIONS_SOUND_EFFECTS,
00204 PREVIEW,
00205
00206 ABOUT_MPLAYER,
00207 ABOUT_QT,
00208
00209 NOW_PLAYING,
00210 YEAR,
00211 ARTIST,
00212 ALBUM,
00213 TITLE,
00214 UNKNOWN,
00215
00216 UNSUPPORTED_PICTUREFILE_FORMAT_ERROR,
00217
00218 FILE_NOT_FOUND_ERROR,
00219
00220 UNABLE_TO_DOWNLOAD_FILE_ERROR,
00221
00222 DOWNLOADING_FILE_TEXT,
00223
00224 NEW_VERSION_POPUP_TITLE,
00225 NEW_VERSION_POPUP_MESSAGE,
00226 NEW_VERSION_POPUP_MESSAGE_ENDING
00227 };
00235 static QString getString(int stringID);
00236
00243 static int getInteger(int integerID, bool &error);
00244
00251 static void LoadLanguage(const QString &localeString, const QDir &applicationDir);
00252
00253 static void ConstructListOfAvailableLanguages( QStringList &languageNames, QStringList &localeStrings, const QDir &applicationDir );
00254 private:
00255 static void setDefaults();
00256 static void readLanguagePack(QFile &packFile);
00257 static QString GetLanguageName( const QString &fileName );
00258 private:
00259
00260 static int iLocaleIntegers[NUM_OF_LOCALE_INTEGERS];
00261
00262
00263 static QStringList iTranslatedStrings;
00264 };
00265
00266 #endif