M changelog.md => changelog.md +4 -0
@@ 20,6 20,10 @@
* `[utils]` Added unit tests for time display.
+### Changed
+
+* `[language]` Changed language loader to load from files
+
## [0.48.1 2020-11-23]
### Added
M doc/i18n.md => doc/i18n.md +54 -2
@@ 2,9 2,61 @@
## File and data structure
-Currently all the wording used in MuditaOS interface is collected in the form of JSON files which are located in [the Image Assets folder](../image/assets/lang/).
+### Display language
+Currently all the wording used in MuditaOS interface is collected in the form of JSON files which are located in [the image/assets/lang folder](../image/assets/lang/).
-The default fallback file for every language is currently the English version - `lang_en.json`
+The default fallback file for every language is currently the English version - `English.json`.
+
+Language file naming pattern should be universal because MuditaOS displays languages based on the file name (without extension) eg. `Deutsch.json` will be displayed in language settings as `Deutsch`.
+
+The name of a language file should also be in the language of the created file eg. for English it should be `English.json`, for Polish `Polski.json` etc.
+
+The structure of the file is typical for JSON files:
+```c++
+(...)
+"common_open": "OPEN",
+"common_call": "CALL",
+"common_save": "SAVE",
+"common_send": "SEND",
+(...)
+```
+The keys on the left side refer to the values on the right side. These values are later displayed in MuditaOS applications.
+
+### Keyboard input language
+
+The first four values of JSON language files tell MuditaOS, which keyboard input language is the specific language setting using:
+```c++
+"common_kbd_lower": "lang_eng_lower",
+"common_kbd_upper": "lang_eng_upper",
+"common_kbd_numeric": "numeric",
+"common_kbd_phone": "phone",
+(...)
+```
+
+These values are names of KPROF files, which are located in [the image/assets/profiles folder](../image/assets/profiles/).
+
+Every language has its own files for upper and lower letters. Here's an example of a working implementation of buttons 2 and 3 in the `lang_eng_lower` file:
+```c++
+(...)
+#NumericKey2 = 32,
+32
+true
+'a','b','c'
+0,0,0
+#NumericKey3 = 33,
+33
+true
+'d','e','f'
+0,0,0
+(...)
+```
+Values explanation:
+- The first value is the number of the button (31 means button "1", 32 means button "2" etc.)
+- The second value is true if the key is cyclic or false otherwise
+- The third line is a list of values that would be available by clicking this button
+- The last line includes zeros written as many times as there are characters available under the button
+
+### Date and time
MuditaOS follows [Linux `date`](https://man7.org/linux/man-pages/man1/date.1.html) to format date and time.
R image/assets/lang/lang_de.json => image/assets/lang/Deutsch.json +171 -185
@@ 1,187 1,173 @@
{
- "common_kbd_lower": "lang_de_lower",
- "common_kbd_upper": "lang_de_upper",
- "common_kbd_numeric": "numeric",
-
- "common_add": "ADD",
- "common_open": "OPEN",
- "common_call": "CALL",
- "common_save": "SAVE",
- "common_send": "SEND",
- "common_confirm": "CONFIRM",
- "common_select": "SELECT",
- "common_ok": "OK",
- "common_back": "BACK",
- "common_set": "SET",
- "common_yes": "Yes",
- "common_no": "No",
- "common_speaker": "SPEAKER",
- "common_mute": "MUTE",
- "common_switch": "SWITCH",
- "common_options": "OPTIONS",
- "common_monday": "Monday",
- "common_tuesday": "Tuesday",
- "common_wednesday": "Wednesday",
- "common_thursday": "Thursday",
- "common_friday": "Friday",
- "common_saturday": "Saturday",
- "common_sunday": "Sunday",
-
- "common_information": "Information",
-
- "common_january": "January",
- "common_february": "February",
- "common_march": "March",
- "common_april": "April",
- "common_may": "May",
- "common_june": "June",
- "common_july": "July",
- "common_august": "August",
- "common_september": "September",
- "common_october": "October",
- "common_november": "November",
- "common_december": "December",
- "common_yesterday" : "Yesterday",
- "common_today" : "Today",
- "locale_12hour_min" : "%I:%M %p",
- "locale_24hour_min" : "%H:%M",
- "locale_date_full" : "%m/%d/%y",
- "locale_date_short" : "%d/%m",
-
- "app_notes_title_main": "Notes",
- "app_notes_new_note": "New Note",
- "app_notes_save": "SAVE",
- "app_notes_edit": "EDIT",
- "app_notes_back": "BACK",
-
- "app_calllog_title_main": "Calls",
- "app_calllog_save": "SAVE",
- "app_calllog_edit": "EDIT",
- "app_calllog_back": "BACK",
- "app_calllog_type": "Type",
- "app_calllog_duration": "Duration",
- "app_calllog_incoming_call": "incoming call",
- "app_calllog_outgoing_call": "outgoing call",
- "app_calllog_missed_call": "missed call",
- "app_calllog_date": "Date",
- "app_calllog_options_title": "Options",
- "app_calllog_options_contact_details": "Contact details",
- "app_calllog_options_delete_call": "Delete call",
- "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
-
- "app_desktop_unlock": "UNLOCK",
- "app_desktop_lock": "LOCK",
- "app_desktop_menu": "MENU",
- "app_desktop_emergency": "EMERG.",
- "app_desktop_pin_lock": "Enter passcode",
- "app_desktop_pin_info1": "Wrong passcode",
- "app_desktop_pin_info2": "Allowed unlock attempts",
- "app_desktop_pin_blocked1": "Sorry, phone blocked",
- "app_desktop_unread_messages": "unread messages",
- "app_desktop_missed_calls": "missed calls",
- "app_desktop_menu_phone": "PHONE",
- "app_desktop_menu_contacts": "CONTACTS",
- "app_desktop_menu_messages": "MESSAGES",
- "app_desktop_menu_calendar": "CALENDAR",
- "app_desktop_menu_alarm": "ALARM",
- "app_desktop_menu_meditation": "MEDITATION",
- "app_desktop_menu_music": "MUSIC",
- "app_desktop_menu_tools": "TOOLS",
- "app_desktop_menu_settings": "SETTINGS",
- "app_desktop_menu_phonebook": "PHONEBOOK",
- "app_desktop_menu_title": "Main Menu",
- "app_desktop_tools_title": "Tools",
- "app_desktop_tools_notes": "NOTES",
- "app_desktop_tools_calculator": "CALCULATOR",
- "app_desktop_tools_recorder": "RECORDER",
- "app_desktop_tools_antenna": "ANTENNA TEST",
- "app_desktop_poweroff_title": "Turn Off",
- "app_desktop_poweroff_question": "Select Yes to power down",
-
- "app_call_call": "CALL",
- "app_call_clear": "CLEAR",
- "app_call_reject": "REJECT",
- "app_call_answer": "ANSWER",
- "app_call_message": "MESSAGE",
- "app_call_return": "RETURN",
- "app_call_end_call": "END CALL",
- "app_call_emergency": "Emergency call",
- "app_call_is_calling": "is calling",
- "app_call_call_ended": "call ended",
- "app_call_contact": "CONTACT",
-
- "app_settings_title_main": "Settings",
- "app_settings_bt" : "Bluetooth",
- "app_settings_date_and_time": "Date and Time",
- "app_settings_title_day": "Day",
- "app_settings_title_month": "Month",
- "app_settings_title_year": "Year",
- "app_settings_title_time": "Time",
- "app_settings_cellular_passthrough": "Cellular <-> USB",
- "app_settings_display": "Display",
- "app_settings_phone_modes": "Phone Modes",
- "app_settings_security": "Security",
- "app_settings_language": "Language",
- "app_settings_about": "About Mudita Pure",
- "app_settings_title_languages": "Language Selection",
- "app_settings_language_english": "English",
- "app_settings_language_polish": "Polish",
- "app_settings_language_german": "German",
- "app_settings_language_spanish": "Spanish",
- "app_settings_date_time": "Date and Time",
-
- "app_messages_title_main": "Messages",
- "app_messages_new_message": "New Message",
-
- "app_phonebook_title_main": "Contacts",
- "app_phonebook_search_win_contacts": "Contacts",
- "common_search_uc": "Search",
- "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
- "common_search_results": "Results",
- "app_phonebook_list_favourites": "Favourites",
- "app_phonebook_contact_title": "Add Contact",
- "app_phonebook_contact_note": "Note",
- "app_phonebook_contact_address": "Address",
- "app_phonebook_contact_information": "Information",
- "app_phonebook_contact_favourites_upper": "FAVOURITES",
- "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
- "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
- "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
- "app_phonebook_duplicate_speed_dial":"This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
- "app_phonebook_options_title": "Options",
- "app_phonebook_contact_no_name": "no name",
- "app_phonebook_options_edit": "Edit Contact",
- "app_phonebook_options_block": "Block",
- "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
- "app_phonebook_options_delete": "Delete",
- "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
- "app_phonebook_options_send_bt": "Send via Bluetooth",
- "app_phonebook_options_forward_namecard": "Forward namecard",
- "app_phonebook_options_send_sms": "Send via SMS",
- "app_phonebook_new_contact_first_name": "First name",
- "app_phonebook_new_contact_second_name": "Second name",
- "app_phonebook_new_contact_number": "Number",
- "app_phonebook_new_contact_second_number": "Second number",
- "app_phonebook_new_contact_email": "Email",
- "app_phonebook_new_contact_address": "Address",
- "app_phonebook_new_contact_note": "Note",
- "app_phonebook_new_speed_dial_key": "Speed dial key",
- "app_phonebook_new_add_to_fav": "Add to favourites",
- "app_phonebook_new_add_to_ice": "Add to ICE",
- "app_phonebook_check": "CHECK",
- "app_phonebook_uncheck": "UNCHECK",
-
- "app_meditation_title_main": "Meditation",
-
- "sms_call_text" : "Call: ",
- "sms_contact_details" : "Contact details",
- "sms_delete_conversation" : "Delete conversation",
-
- "settings_lang_PL": "PL",
- "settings_lang_ENG": "ENG",
- "settings_lang_DE": "DE",
- "settings_lang_SP": "SP",
- "desktop_powerdown_info1": "Now It is truly...",
- "desktop_powerdown_info2": "Disabled!!!"
-
+ "common_kbd_lower": "lang_de_lower",
+ "common_kbd_upper": "lang_de_upper",
+ "common_kbd_numeric": "numeric",
+ "common_add": "ADD",
+ "common_open": "OPEN",
+ "common_call": "CALL",
+ "common_save": "SAVE",
+ "common_send": "SEND",
+ "common_confirm": "CONFIRM",
+ "common_select": "SELECT",
+ "common_ok": "OK",
+ "common_back": "BACK",
+ "common_set": "SET",
+ "common_yes": "Yes",
+ "common_no": "No",
+ "common_speaker": "SPEAKER",
+ "common_mute": "MUTE",
+ "common_switch": "SWITCH",
+ "common_options": "OPTIONS",
+ "common_monday": "Monday",
+ "common_tuesday": "Tuesday",
+ "common_wednesday": "Wednesday",
+ "common_thursday": "Thursday",
+ "common_friday": "Friday",
+ "common_saturday": "Saturday",
+ "common_sunday": "Sunday",
+ "common_information": "Information",
+ "common_january": "January",
+ "common_february": "February",
+ "common_march": "March",
+ "common_april": "April",
+ "common_may": "May",
+ "common_june": "June",
+ "common_july": "July",
+ "common_august": "August",
+ "common_september": "September",
+ "common_october": "October",
+ "common_november": "November",
+ "common_december": "December",
+ "common_yesterday": "Yesterday",
+ "common_today": "Today",
+ "locale_12hour_min": "%I:%M %p",
+ "locale_24hour_min": "%H:%M",
+ "locale_date_full": "%m/%d/%y",
+ "locale_date_short": "%d/%m",
+ "app_notes_title_main": "Notes",
+ "app_notes_new_note": "New Note",
+ "app_notes_save": "SAVE",
+ "app_notes_edit": "EDIT",
+ "app_notes_back": "BACK",
+ "app_calllog_title_main": "Calls",
+ "app_calllog_save": "SAVE",
+ "app_calllog_edit": "EDIT",
+ "app_calllog_back": "BACK",
+ "app_calllog_type": "Type",
+ "app_calllog_duration": "Duration",
+ "app_calllog_incoming_call": "incoming call",
+ "app_calllog_outgoing_call": "outgoing call",
+ "app_calllog_missed_call": "missed call",
+ "app_calllog_date": "Date",
+ "app_calllog_options_title": "Options",
+ "app_calllog_options_contact_details": "Contact details",
+ "app_calllog_options_delete_call": "Delete call",
+ "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
+ "app_desktop_unlock": "UNLOCK",
+ "app_desktop_lock": "LOCK",
+ "app_desktop_menu": "MENU",
+ "app_desktop_emergency": "EMERG.",
+ "app_desktop_pin_lock": "Enter passcode",
+ "app_desktop_pin_info1": "Wrong passcode",
+ "app_desktop_pin_info2": "Allowed unlock attempts",
+ "app_desktop_pin_blocked1": "Sorry, phone blocked",
+ "app_desktop_unread_messages": "unread messages",
+ "app_desktop_missed_calls": "missed calls",
+ "app_desktop_menu_phone": "PHONE",
+ "app_desktop_menu_contacts": "CONTACTS",
+ "app_desktop_menu_messages": "MESSAGES",
+ "app_desktop_menu_calendar": "CALENDAR",
+ "app_desktop_menu_alarm": "ALARM",
+ "app_desktop_menu_meditation": "MEDITATION",
+ "app_desktop_menu_music": "MUSIC",
+ "app_desktop_menu_tools": "TOOLS",
+ "app_desktop_menu_settings": "SETTINGS",
+ "app_desktop_menu_phonebook": "PHONEBOOK",
+ "app_desktop_menu_title": "Main Menu",
+ "app_desktop_tools_title": "Tools",
+ "app_desktop_tools_notes": "NOTES",
+ "app_desktop_tools_calculator": "CALCULATOR",
+ "app_desktop_tools_recorder": "RECORDER",
+ "app_desktop_tools_antenna": "ANTENNA TEST",
+ "app_desktop_poweroff_title": "Turn Off",
+ "app_desktop_poweroff_question": "Select Yes to power down",
+ "app_call_call": "CALL",
+ "app_call_clear": "CLEAR",
+ "app_call_reject": "REJECT",
+ "app_call_answer": "ANSWER",
+ "app_call_message": "MESSAGE",
+ "app_call_return": "RETURN",
+ "app_call_end_call": "END CALL",
+ "app_call_emergency": "Emergency call",
+ "app_call_is_calling": "is calling",
+ "app_call_call_ended": "call ended",
+ "app_call_contact": "CONTACT",
+ "app_settings_title_main": "Settings",
+ "app_settings_bt": "Bluetooth",
+ "app_settings_date_and_time": "Date and Time",
+ "app_settings_title_day": "Day",
+ "app_settings_title_month": "Month",
+ "app_settings_title_year": "Year",
+ "app_settings_title_time": "Time",
+ "app_settings_cellular_passthrough": "Cellular <-> USB",
+ "app_settings_display": "Display",
+ "app_settings_phone_modes": "Phone Modes",
+ "app_settings_security": "Security",
+ "app_settings_language": "Language",
+ "app_settings_about": "About Mudita Pure",
+ "app_settings_title_languages": "Language Selection",
+ "app_settings_language_english": "English",
+ "app_settings_language_polish": "Polish",
+ "app_settings_language_german": "German",
+ "app_settings_language_spanish": "Spanish",
+ "app_settings_date_time": "Date and Time",
+ "app_messages_title_main": "Messages",
+ "app_messages_new_message": "New Message",
+ "app_phonebook_title_main": "Contacts",
+ "app_phonebook_search_win_contacts": "Contacts",
+ "common_search_uc": "Search",
+ "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
+ "common_search_results": "Results",
+ "app_phonebook_list_favourites": "Favourites",
+ "app_phonebook_contact_title": "Add Contact",
+ "app_phonebook_contact_note": "Note",
+ "app_phonebook_contact_address": "Address",
+ "app_phonebook_contact_information": "Information",
+ "app_phonebook_contact_favourites_upper": "FAVOURITES",
+ "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
+ "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
+ "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
+ "app_phonebook_duplicate_speed_dial": "This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
+ "app_phonebook_options_title": "Options",
+ "app_phonebook_contact_no_name": "no name",
+ "app_phonebook_options_edit": "Edit Contact",
+ "app_phonebook_options_block": "Block",
+ "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
+ "app_phonebook_options_delete": "Delete",
+ "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
+ "app_phonebook_options_send_bt": "Send via Bluetooth",
+ "app_phonebook_options_forward_namecard": "Forward namecard",
+ "app_phonebook_options_send_sms": "Send via SMS",
+ "app_phonebook_new_contact_first_name": "First name",
+ "app_phonebook_new_contact_second_name": "Second name",
+ "app_phonebook_new_contact_number": "Number",
+ "app_phonebook_new_contact_second_number": "Second number",
+ "app_phonebook_new_contact_email": "Email",
+ "app_phonebook_new_contact_address": "Address",
+ "app_phonebook_new_contact_note": "Note",
+ "app_phonebook_new_speed_dial_key": "Speed dial key",
+ "app_phonebook_new_add_to_fav": "Add to favourites",
+ "app_phonebook_new_add_to_ice": "Add to ICE",
+ "app_phonebook_check": "CHECK",
+ "app_phonebook_uncheck": "UNCHECK",
+ "app_meditation_title_main": "Meditation",
+ "sms_call_text": "Call: ",
+ "sms_contact_details": "Contact details",
+ "sms_delete_conversation": "Delete conversation",
+ "settings_lang_PL": "PL",
+ "settings_lang_ENG": "ENG",
+ "settings_lang_DE": "DE",
+ "settings_lang_SP": "SP",
+ "desktop_powerdown_info1": "Now It is truly...",
+ "desktop_powerdown_info2": "Disabled!!!"
}
R image/assets/lang/lang_en.json => image/assets/lang/English.json +376 -394
@@ 1,402 1,384 @@
{
- "common_kbd_lower": "lang_eng_lower",
- "common_kbd_upper": "lang_eng_upper",
- "common_kbd_numeric": "numeric",
- "common_kbd_phone": "phone",
+ "common_kbd_lower": "lang_eng_lower",
+ "common_kbd_upper": "lang_eng_upper",
+ "common_kbd_numeric": "numeric",
+ "common_kbd_phone": "phone",
- "common_add": "ADD",
- "common_open": "OPEN",
- "common_call": "CALL",
- "common_save": "SAVE",
- "common_send": "SEND",
- "common_confirm": "CONFIRM",
- "common_select": "SELECT",
- "common_use": "USE",
- "common_ok": "OK",
- "common_back": "BACK",
- "common_set": "SET",
- "common_yes": "Yes",
- "common_no": "No",
- "common_switch": "SWITCH",
- "common_options": "OPTIONS",
- "common_information": "Information",
- "common_check": "CHECK",
- "common_uncheck": "UNCHECK",
- "common_emoji": "EMOJI",
- "common_special_characters": "SPECIAL",
- "common_start" : "START",
- "common_stop" : "STOP",
- "common_resume" : "RESUME",
- "common_pause" : "PAUSE",
+ "common_add": "ADD",
+ "common_open": "OPEN",
+ "common_call": "CALL",
+ "common_save": "SAVE",
+ "common_send": "SEND",
+ "common_confirm": "CONFIRM",
+ "common_select": "SELECT",
+ "common_use": "USE",
+ "common_ok": "OK",
+ "common_back": "BACK",
+ "common_set": "SET",
+ "common_yes": "Yes",
+ "common_no": "No",
+ "common_switch": "SWITCH",
+ "common_options": "OPTIONS",
+ "common_information": "Information",
+ "common_check": "CHECK",
+ "common_uncheck": "UNCHECK",
+ "common_emoji": "EMOJI",
+ "common_special_characters": "SPECIAL",
+ "common_start": "START",
+ "common_stop": "STOP",
+ "common_resume": "RESUME",
+ "common_pause": "PAUSE",
+ "common_mo": "MO",
+ "common_tu": "TU",
+ "common_we": "WE",
+ "common_th": "TH",
+ "common_fr": "FR",
+ "common_sa": "SA",
+ "common_su": "SU",
+ "common_monday": "Monday",
+ "common_tuesday": "Tuesday",
+ "common_wednesday": "Wednesday",
+ "common_thursday": "Thursday",
+ "common_friday": "Friday",
+ "common_saturday": "Saturday",
+ "common_sunday": "Sunday",
+ "common_january": "January",
+ "common_february": "February",
+ "common_march": "March",
+ "common_april": "April",
+ "common_may": "May",
+ "common_june": "June",
+ "common_july": "July",
+ "common_august": "August",
+ "common_september": "September",
+ "common_october": "October",
+ "common_november": "November",
+ "common_december": "December",
+ "common_yesterday": "Yesterday",
+ "common_today": "Today",
+ "common_results_prefix": "Results: ",
+ "common_search": "SEARCH",
+ "locale_12hour_min": "%I:%M %p",
+ "locale_24hour_min": "%H:%M",
+ "locale_date_full": "%m/%d/%y",
+ "locale_date_short": "%d/%m",
+ "common_AM": "AM",
+ "common_PM": "PM",
+ "duration_min_0sec": "%M:%0S",
+ "duration_0min_0sec": "%0M:%0S",
+ "duration_0hmin_0sec": "%0N:%0S",
+ "duration_hour_0min_0sec": "%H:%0M:%0S",
+ "brightness_text": "BRIGHTNESS",
+ "volume_text": "VOLUME",
+ "home_modes_connected": "CONNECTED",
+ "home_modes_notdisturb": "DO NOT DISTURB",
+ "home_modes_offline": "OFFLINE",
+ "app_calendar_title_main": "Calendar",
+ "app_calendar_options_title": "Options",
+ "app_calendar_options_edit": "Edit",
+ "app_calendar_options_delete": "Delete",
+ "app_calendar_event_delete_confirmation": "Delete this event?",
+ "app_calendar_bar_month": "MONTH",
+ "app_calendar_bar_list": "LIST",
+ "app_calendar_event_detail": "Event",
+ "app_calendar_event_detail_repeat": "Repeat",
+ "app_calendar_event_detail_reminder": "Reminder",
+ "app_calendar_no_events_information": "<text align='center' color='9'>No events yet.<p>Press <b>left arrow</b> to add new.</p></text>",
+ "app_calendar_repeat_never": "Never",
+ "app_calendar_repeat_daily": "Daily",
+ "app_calendar_repeat_weekly": "Weekly",
+ "app_calendar_repeat_two_weeks": "Two weeks",
+ "app_calendar_repeat_month": "Month",
+ "app_calendar_repeat_year": "Year",
+ "app_calendar_repeat_custom": "Custom",
+ "app_calendar_reminder_never": "Never",
+ "app_calendar_reminder_event_time": "At the time of the event",
+ "app_calendar_reminder_5_min_before": "5 mins before",
+ "app_calendar_reminder_15_min_before": "15 mins before",
+ "app_calendar_reminder_30_min_before": "30 mins before",
+ "app_calendar_reminder_1_hour_before": "1h before",
+ "app_calendar_reminder_2_hour_before": "2h before",
+ "app_calendar_reminder_1_day_before": "1 day before",
+ "app_calendar_reminder_2_days_before": "2 days before",
+ "app_calendar_reminder_1_week_before": "1 week before",
+ "app_calendar_custom_repeat_title": "Custom repeat",
+ "app_calendar_new_event_title": "New event",
+ "app_calendar_edit_event_title": "Edit event",
+ "app_calendar_edit": "EDIT",
+ "app_calendar_new_edit_event_name": "Event name",
+ "app_calendar_new_edit_event_allday": "All day event",
+ "app_calendar_all_day": "All day",
+ "app_calendar_new_edit_event_start": "Start",
+ "app_calendar_new_edit_event_end": "End",
- "common_mo":"MO",
- "common_tu":"TU",
- "common_we":"WE",
- "common_th":"TH",
- "common_fr":"FR",
- "common_sa":"SA",
- "common_su":"SU",
+ "app_calculator_title_main": "Calculator",
+ "app_calculator_equals": "EQUALS",
+ "app_calculator_decimal_separator": ".",
+ "app_calculator_error": "Error",
- "common_monday": "Monday",
- "common_tuesday": "Tuesday",
- "common_wednesday": "Wednesday",
- "common_thursday": "Thursday",
- "common_friday": "Friday",
- "common_saturday": "Saturday",
- "common_sunday": "Sunday",
+ "app_options_invalid_option": " <Invalid Option> ",
+ "app_options_contact_details": "Contact details",
+ "app_options_contact_add": "Add to contacts",
+ "app_options_contact_edit": "Edit Contact",
- "common_january": "January",
- "common_february": "February",
- "common_march": "March",
- "common_april": "April",
- "common_may": "May",
- "common_june": "June",
- "common_july": "July",
- "common_august": "August",
- "common_september": "September",
- "common_october": "October",
- "common_november": "November",
- "common_december": "December",
- "common_yesterday" : "Yesterday",
- "common_today" : "Today",
- "common_results_prefix": "Results: ",
- "common_search": "SEARCH",
+ "app_notes_title_main": "Notes",
+ "app_notes_new_note": "New Note",
+ "app_notes_save": "SAVE",
+ "app_notes_edit": "EDIT",
+ "app_notes_back": "BACK",
- "locale_12hour_min" : "%I:%M %p",
- "locale_24hour_min" : "%H:%M",
- "locale_date_full" : "%m/%d/%y",
- "locale_date_short" : "%d/%m",
- "common_AM" : "AM",
- "common_PM" : "PM",
+ "app_calllog_title_main": "Calls",
+ "app_calllog_new_note": "New Note",
+ "app_calllog_save": "SAVE",
+ "app_calllog_edit": "EDIT",
+ "app_calllog_back": "BACK",
+ "app_calllog_type": "Type",
+ "app_calllog_duration": "Duration",
+ "app_calllog_incoming_call": "incoming call",
+ "app_calllog_outgoing_call": "outgoing call",
+ "app_calllog_missed_call": "missed call",
+ "app_calllog_rejected_call": "rejected call",
+ "app_calllog_date": "Date",
+ "app_calllog_options_title": "Options",
+ "app_calllog_options_delete_call": "Delete call",
+ "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
- "duration_min_0sec" : "%M:%0S",
- "duration_0min_0sec" : "%0M:%0S",
- "duration_0hmin_0sec" : "%0N:%0S",
- "duration_hour_0min_0sec" : "%H:%0M:%0S",
-
- "brightness_text" : "BRIGHTNESS",
- "volume_text" : "VOLUME",
- "home_modes_connected" : "CONNECTED",
- "home_modes_notdisturb" : "DO NOT DISTURB",
- "home_modes_offline" : "OFFLINE",
-
- "app_calendar_title_main" : "Calendar",
- "app_calendar_options_title": "Options",
- "app_calendar_options_edit": "Edit",
- "app_calendar_options_delete": "Delete",
- "app_calendar_event_delete_confirmation": "Delete this event?",
- "app_calendar_bar_month": "MONTH",
- "app_calendar_bar_list": "LIST",
- "app_calendar_event_detail": "Event",
- "app_calendar_event_detail_repeat": "Repeat",
- "app_calendar_event_detail_reminder": "Reminder",
- "app_calendar_no_events_information": "<text align='center' color='9'>No events yet.<p>Press <b>left arrow</b> to add new.</p></text>",
- "app_calendar_repeat_never": "Never",
- "app_calendar_repeat_daily": "Daily",
- "app_calendar_repeat_weekly": "Weekly",
- "app_calendar_repeat_two_weeks": "Two weeks",
- "app_calendar_repeat_month": "Month",
- "app_calendar_repeat_year": "Year",
- "app_calendar_repeat_custom": "Custom",
- "app_calendar_reminder_never": "Never",
- "app_calendar_reminder_event_time": "At the time of the event",
- "app_calendar_reminder_5_min_before": "5 mins before",
- "app_calendar_reminder_15_min_before": "15 mins before",
- "app_calendar_reminder_30_min_before": "30 mins before",
- "app_calendar_reminder_1_hour_before": "1h before",
- "app_calendar_reminder_2_hour_before": "2h before",
- "app_calendar_reminder_1_day_before": "1 day before",
- "app_calendar_reminder_2_days_before": "2 days before",
- "app_calendar_reminder_1_week_before": "1 week before",
- "app_calendar_custom_repeat_title": "Custom repeat",
- "app_calendar_new_event_title": "New event",
- "app_calendar_edit_event_title": "Edit event",
- "app_calendar_edit": "EDIT",
- "app_calendar_new_edit_event_name": "Event name",
- "app_calendar_new_edit_event_allday": "All day event",
- "app_calendar_all_day": "All day",
- "app_calendar_new_edit_event_start": "Start",
- "app_calendar_new_edit_event_end": "End",
-
- "app_calculator_title_main": "Calculator",
- "app_calculator_equals": "EQUALS",
- "app_calculator_decimal_separator": ".",
- "app_calculator_error": "Error",
-
- "app_options_invalid_option": " <Invalid Option> ",
- "app_options_contact_details": "Contact details",
- "app_options_contact_add": "Add to contacts",
- "app_options_contact_edit": "Edit Contact",
-
- "app_notes_title_main": "Notes",
- "app_notes_new_note": "New Note",
- "app_notes_save": "SAVE",
- "app_notes_edit": "EDIT",
- "app_notes_back": "BACK",
-
- "app_calllog_title_main": "Calls",
- "app_calllog_new_note": "New Note",
- "app_calllog_save": "SAVE",
- "app_calllog_edit": "EDIT",
- "app_calllog_back": "BACK",
- "app_calllog_type": "Type",
- "app_calllog_duration": "Duration",
- "app_calllog_incoming_call": "incoming call",
- "app_calllog_outgoing_call": "outgoing call",
- "app_calllog_missed_call": "missed call",
- "app_calllog_rejected_call": "rejected call",
- "app_calllog_date": "Date",
- "app_calllog_options_title": "Options",
- "app_calllog_options_delete_call": "Delete call",
- "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
-
- "app_desktop_unlock": "UNLOCK",
- "app_desktop_lock": "LOCK",
- "app_desktop_menu": "MENU",
- "app_desktop_emergency": "EMERG.",
-
- "app_desktop_screen_enter_passcode": "Enter passcode",
- "app_desktop_screen_wrong_pin": "Wrong passcode",
- "app_desktop_screen_allowed_attempts": "Allowed unlock attempts",
- "app_desktop_screen_blocked_info": "Sorry, phone blocked",
- "app_desktop_sim_to_unlock": "To unlock the",
- "app_desktop_sim_card": "card",
- "app_desktop_sim_type_pin": "please type a PIN code:",
- "app_desktop_sim_blocked": "The SIM card is blocked.",
- "app_desktop_sim_enter_pin": "Enter new PIN code",
- "app_desktop_sim_confirm_pin": "Enter new PIN code",
- "app_desktop_sim_type_puk": "To unblock it, type the PUK code:",
- "app_desktop_no_pin_lock": "<text>Press <b>Unlock</b> and then <b>#</b></text>",
- "app_desktop_sim_wrong_pin": "Wrong PIN code",
- "app_desktop_sim_wrong_puk": "Wrong PUK code",
- "app_desktop_sim_you_have": "You have",
- "app_desktop_sim_attempt_left_plural": "attempts left",
- "app_desktop_sim_attempt_left_singular": "attempt left",
- "app_desktop_sim_warning1": "If the code is wrong this time, the",
- "app_desktop_sim_warning2": "SIM card will be blocked and you'll",
- "app_desktop_sim_warning3": "have to contact the operator",
- "app_desktop_sim_blocked_info1": "Sorry, SIM card permanently blocked.",
- "app_desktop_sim_blocked_info2": "Please contact your service provider",
- "app_desktop_sim_cme_error": "<text>SIM card\nCME error:</text>",
-
- "app_desktop_unread_messages": "<text>Unread <b>messages</b></text>",
- "app_desktop_missed_calls": "<text>Missed <b>calls</b></text>",
- "app_desktop_menu_phone": "PHONE",
- "app_desktop_menu_contacts": "CONTACTS",
- "app_desktop_menu_messages": "MESSAGES",
- "app_desktop_menu_calendar": "CALENDAR",
- "app_desktop_menu_alarm": "ALARM",
- "app_desktop_menu_meditation": "MEDITATION",
- "app_desktop_menu_music": "MUSIC",
- "app_desktop_menu_tools": "TOOLS",
- "app_desktop_menu_settings_new": "SETTINGS NEW",
- "app_desktop_menu_settings": "SETTINGS",
- "app_desktop_menu_phonebook": "PHONEBOOK",
- "app_desktop_menu_title": "Menu",
- "app_desktop_tools_title": "Tools",
- "app_desktop_tools_notes": "NOTES",
- "app_desktop_tools_calculator": "CALCULATOR",
- "app_desktop_tools_recorder": "RECORDER",
- "app_desktop_tools_antenna": "ANTENNA TEST",
- "app_desktop_poweroff_title": "Turn Off",
- "app_desktop_poweroff_question": "Select Yes to power down",
- "app_desktop_show": "SHOW",
- "app_desktop_calls": "CALLS",
- "app_desktop_clear": "CLEAR",
- "app_desktop_clear_all": "CLEAR ALL",
-
- "app_call_call": "CALL",
- "app_call_clear": "CLEAR",
- "app_call_reject": "REJECT",
- "app_call_answer": "ANSWER",
- "app_call_message": "MESSAGE",
- "app_call_end_call": "END CALL",
- "app_call_emergency": "Emergency call",
- "app_call_is_calling": "is calling",
- "app_call_calling": "calling...",
- "app_call_call_ended": "call ended",
- "app_call_contact": "CONTACT",
- "app_call_mute": "MUTE",
- "app_call_muted": "MUTED",
- "app_call_speaker": "SPEAKER",
- "app_call_speaker_on": "SPEAKER ON",
- "app_call_bluetooth": "BLUETOOTH",
- "app_call_no_sim" : "No SIM.\n\nTo make a call,\nplease insert a SIM card.",
- "app_call_offline" : "You're offline.\n\nTo make a call\n switch to the Connected mode.",
-
- "app_messages_title_main": "Messages",
- "app_messages_new_message": "New Message",
- "app_messages_no_messages": "There are no messages yet.\nPress Left arrow to add new.",
- "app_messages_thread_delete_confirmation": "Do you really want to delete\nthis conversation?",
- "app_messages_message_delete_confirmation": "<text align='center'><p>Do you really want to <text weight='bold'>delete</text></p>this message?</text>",
- "app_messages_thread_no_result" : "There are no results",
- "app_messages_message": "Message",
- "app_messages_templates": "Templates",
- "app_messages_no_sim" : "No SIM.\n\nTo send a SMS,\nplease insert a SIM card.",
- "app_messages_offline" : "You're offline.\n\nTo send a SMS\n switch to the Connected mode.",
- "app_messages_thread_draft" : "Draft: ",
- "app_messages_thread_not_sent" : "Not sent: ",
- "app_messages_thread_you" : "You: ",
-
- "app_settings_title_main": "Settings",
- "app_settings_title_main_new": "Settings New",
- "app_settings_bt" : "Bluetooth",
- "app_settings_bluetooth_add_device" : "Add device",
- "app_settings_bluetooth_all_devices" : "All devices",
- "app_settings_bluetooth_all_devices_indent" : " All devices",
- "app_settings_bluetooth_searching_devices" : "Searching devices... \nIt may take a moment.",
- "app_settings_bluetooth_main" : "Bluetooth",
- "app_settings_bluetooth_phone_name" : "Phone name",
- "app_settings_bluetooth_phone_name_indent" : " Phone name",
- "app_settings_bluetooth_phone_visibility" : "Phone visibility",
- "app_settings_net" : "Network",
- "app_settings_disp_key" : "Display and keypad",
- "app_settings_display_display_light": "Display light",
- "app_settings_display_light_main": "Frontlight",
- "app_settings_display_light_auto": "Automatic",
- "app_settings_display_light_brightness": "Brightness",
- "app_settings_display_font_size": "Font size",
- "app_settings_display_locked_screen": "Locked screen",
- "app_settings_display_keypad_light": "Keypad light",
- "app_settings_display_keypad_light_on": "Always on",
- "app_settings_display_keypad_light_active": "On when active",
- "app_settings_display_keypad_light_off": "Off",
- "app_settings_display_input_language": "Input language",
- "app_settings_display_locked_screen_autolock": "Autolock" ,
- "app_settings_display_locked_screen_wallpaper": "Wallpaper",
- "app_settings_display_locked_screen_quotes": "Quotes",
- "app_settings_display_locked_screen_new_quote": "New quote",
- "app_settings_display_wallpaper_logo": "Mudita logo",
- "app_settings_display_wallpaper_clock": "Clock",
- "app_settings_display_wallpaper_quotes": "Quotes",
- "app_settings_display_wallpaper_select_quotes": "Select Quotes",
- "app_settings_system" : "System",
- "app_settings_apps_tools" : "Apps and tools",
- "app_settings_apps_messages" : "Messages",
- "app_settings_show_unread_first" : "Show unread first",
- "app_settings_Templates" : "Templates",
- "app_settings_apps_torch" : "Torch",
- "app_settings_title_torch" : "Torch",
- "app_settings_torch_sunset_red_light_option" : "Sunset red light",
- "app_settings_torch_nightshift_time_option" : "Nightshift time",
- "app_settings_torch_description" : "In the nightshift, the torch will use\nsunset red light so it won't disturb\nyour and others sleep.",
- "app_settings_date_and_time": "Date and Time",
- "app_settings_title_day": "Day",
- "app_settings_title_month": "Month",
- "app_settings_title_year": "Year",
- "app_settings_title_time": "Time",
- "app_settings_cellular_passthrough": "Cellular <-> USB",
- "app_settings_display": "Display",
- "app_settings_phone_modes": "Phone Modes",
- "app_settings_security": "Security",
- "app_settings_language": "Language",
- "app_settings_about": "About Mudita Pure",
- "app_settings_title_languages": "Language Selection",
- "app_settings_language_english": "English",
- "app_settings_language_polish": "Polish",
- "app_settings_language_german": "German",
- "app_settings_language_spanish": "Spanish",
- "app_settings_network_active_card": "Active card",
- "app_settings_network_operator_auto_select": "Operator auto-select",
- "app_settings_network_all_operators": "All Operators",
- "app_settings_network_import_contacts_from_sim_card": "Import contacts from SIM card",
- "app_settings_network_sim1": "Sim1",
- "app_settings_network_sim2": "Sim2",
- "app_settings_toggle_on": "ON",
- "app_settings_toggle_off": "OFF",
-
- "app_phonebook_title_main": "Contacts",
- "app_phonebook_search_win_contacts": "Contacts",
- "common_search_uc": "Search",
- "app_phonebook_search_win_info": "Type what do you need\nand click SEARCH",
- "common_search_results": "Search results",
- "app_phonebook_search_no_results": "No contacts found.",
- "app_phonebook_list_favourites": "Favourites",
- "app_phonebook_contact_title": "Add Contact",
- "app_phonebook_contact_no_name": "no name",
- "app_phonebook_contact_note": "Note",
- "app_phonebook_contact_address": "Address",
- "app_phonebook_contact_information": "Information",
- "app_phonebook_contact_favourites_upper": "FAVOURITES",
- "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
- "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
- "app_phonebook_ice_contacts_title": "ICE Contacts",
- "app_phonebook_duplicate_numbers": "Number $CONTACT_SPEED_DIAL$ is assigned to \n $CONTACT_NAME$. Replace it?",
- "app_phonebook_duplicate_speed_dial_title":"Speed dial key ($CONTACT_SPEED_DIAL$)",
- "app_phonebook_options_title": "Options",
- "app_phonebook_options_edit": "Edit Contact",
- "app_phonebook_options_block": "Block",
- "app_phonebook_options_block_confirm": "Block this contact?",
- "app_phonebook_options_block_notification": "Contact blocked.",
- "app_phonebook_options_unblock": "Unblock",
- "app_phonebook_options_unblock_confirm": "Unblock this contact?",
- "app_phonebook_options_unblock_notification": "Contact unblocked.",
- "app_phonebook_options_delete": "Delete",
- "app_phonebook_options_delete_confirm": "Do you really want to delete\nthis contact?",
- "app_phonebook_options_delete_notification": "This contact has been deleted\nsuccessfully.",
- "app_phonebook_options_send_bt": "Send via Bluetooth",
- "app_phonebook_options_forward_namecard": "Forward namecard",
- "app_phonebook_options_send_sms": "Send via SMS",
- "app_phonebook_new_contact_first_name": "First name",
- "app_phonebook_new_contact_second_name": "Second name",
- "app_phonebook_new_contact_number": "Number",
- "app_phonebook_new_contact_second_number": "Second number",
- "app_phonebook_new_contact_email": "Email",
- "app_phonebook_new_contact_address": "Address",
- "app_phonebook_new_contact_note": "Note",
- "app_phonebook_new_speed_dial_key": "Speed dial key",
- "app_phonebook_new_add_to_fav": "Add to favourites",
- "app_phonebook_new_add_to_ice": "Add to ICE",
- "app_phonebook_check": "CHECK",
- "app_phonebook_uncheck": "UNCHECK",
-
- "app_meditation_title_main": "Meditation",
- "app_meditation_preparation_time" : "Preparation time",
- "app_meditation_put_down_phone_and_wait": "<text>Put down the phone and wait for<br>the gong.</text>",
- "app_meditation_thank_you_for_session": "<text>Thank you for this<br>meditation session.</text>",
- "app_meditation_option_show_counter" : "Show meditation counter",
- "app_meditation_interval_chime" : "Interval Chime",
- "app_meditation_interval_none" : "None",
- "app_meditation_interval_every_x_minutes" : "Every %0 minutes",
-
- "app_music_player_all_songs": "All songs",
- "app_music_player_play": "PLAY",
- "app_music_player_music_library": "MUSIC LIBRARY",
- "app_music_player_quit": "QUIT",
- "app_music_player_music_empty_window_notification": "Press Music Library to choose\n a song from the library",
-
- "app_special_input_window": "Special characters",
- "app_emoji_input_window": "Emoji",
-
- "sms_add_rec_num" : "Add recipient or type a number",
- "sms_title_message": "New message",
- "sms_call_text" : "Call ",
- "sms_resend_failed" : "Send again",
- "sms_delete_conversation" : "Delete conversation",
- "sms_forward_message" : "Forward message",
- "sms_copy" : "Copy",
- "sms_delete_message" : "Delete",
- "sms_from_this_sms" : "From this message",
- "sms_use_template" : "Use Template",
- "sms_paste" : "Paste",
- "sms_reply" : "REPLY",
- "sms_temp_reply" : "Reply",
- "sms_mark_read" : "Mark as read",
- "sms_mark_unread" : "Mark as unread",
-
- "settings_lang_PL": "PL",
- "settings_lang_ENG": "ENG",
- "settings_lang_DE": "DE",
- "settings_lang_SP": "SP",
- "desktop_powerdown_info1": "Now It is truly...",
- "desktop_powerdown_info2": "Disabled!!!",
- "app_desktop_update": "Update",
- "app_desktop_update_to": "Update to",
- "app_desktop_update_apply": "Do you want to apply this update?",
- "app_desktop_update_current": "Current",
- "app_desktop_update_apply": "Apply update?",
- "app_desktop_update_start": "Update start",
- "app_desktop_update_size": "size",
- "app_desktop_update_bytes": "bytes",
- "app_desktop_update_unpacking": "Unpacking"
+ "app_desktop_unlock": "UNLOCK",
+ "app_desktop_lock": "LOCK",
+ "app_desktop_menu": "MENU",
+ "app_desktop_emergency": "EMERG.",
+ "app_desktop_screen_enter_passcode": "Enter passcode",
+ "app_desktop_screen_wrong_pin": "Wrong passcode",
+ "app_desktop_screen_allowed_attempts": "Allowed unlock attempts",
+ "app_desktop_screen_blocked_info": "Sorry, phone blocked",
+ "app_desktop_sim_to_unlock": "To unlock the",
+ "app_desktop_sim_card": "card",
+ "app_desktop_sim_type_pin": "please type a PIN code:",
+ "app_desktop_sim_blocked": "The SIM card is blocked.",
+ "app_desktop_sim_enter_pin": "Enter new PIN code",
+ "app_desktop_sim_confirm_pin": "Enter new PIN code",
+ "app_desktop_sim_type_puk": "To unblock it, type the PUK code:",
+ "app_desktop_no_pin_lock": "<text>Press <b>Unlock</b> and then <b>#</b></text>",
+ "app_desktop_sim_wrong_pin": "Wrong PIN code",
+ "app_desktop_sim_wrong_puk": "Wrong PUK code",
+ "app_desktop_sim_you_have": "You have",
+ "app_desktop_sim_attempt_left_plural": "attempts left",
+ "app_desktop_sim_attempt_left_singular": "attempt left",
+ "app_desktop_sim_warning1": "If the code is wrong this time, the",
+ "app_desktop_sim_warning2": "SIM card will be blocked and you'll",
+ "app_desktop_sim_warning3": "have to contact the operator",
+ "app_desktop_sim_blocked_info1": "Sorry, SIM card permanently blocked.",
+ "app_desktop_sim_blocked_info2": "Please contact your service provider",
+ "app_desktop_sim_cme_error": "<text>SIM card\nCME error:</text>",
+ "app_desktop_unread_messages": "<text>Unread <b>messages</b></text>",
+ "app_desktop_missed_calls": "<text>Missed <b>calls</b></text>",
+ "app_desktop_menu_phone": "PHONE",
+ "app_desktop_menu_contacts": "CONTACTS",
+ "app_desktop_menu_messages": "MESSAGES",
+ "app_desktop_menu_calendar": "CALENDAR",
+ "app_desktop_menu_alarm": "ALARM",
+ "app_desktop_menu_meditation": "MEDITATION",
+ "app_desktop_menu_music": "MUSIC",
+ "app_desktop_menu_tools": "TOOLS",
+ "app_desktop_menu_settings_new": "SETTINGS NEW",
+ "app_desktop_menu_settings": "SETTINGS",
+ "app_desktop_menu_phonebook": "PHONEBOOK",
+ "app_desktop_menu_title": "Menu",
+ "app_desktop_tools_title": "Tools",
+ "app_desktop_tools_notes": "NOTES",
+ "app_desktop_tools_calculator": "CALCULATOR",
+ "app_desktop_tools_recorder": "RECORDER",
+ "app_desktop_tools_antenna": "ANTENNA TEST",
+ "app_desktop_poweroff_title": "Turn Off",
+ "app_desktop_poweroff_question": "Select Yes to power down",
+ "app_desktop_show": "SHOW",
+ "app_desktop_calls": "CALLS",
+ "app_desktop_clear": "CLEAR",
+ "app_desktop_clear_all": "CLEAR ALL",
+ "app_call_call": "CALL",
+ "app_call_clear": "CLEAR",
+ "app_call_reject": "REJECT",
+ "app_call_answer": "ANSWER",
+ "app_call_message": "MESSAGE",
+ "app_call_end_call": "END CALL",
+ "app_call_emergency": "Emergency call",
+ "app_call_is_calling": "is calling",
+ "app_call_calling": "calling...",
+ "app_call_call_ended": "call ended",
+ "app_call_contact": "CONTACT",
+ "app_call_mute": "MUTE",
+ "app_call_muted": "MUTED",
+ "app_call_speaker": "SPEAKER",
+ "app_call_speaker_on": "SPEAKER ON",
+ "app_call_bluetooth": "BLUETOOTH",
+ "app_call_no_sim": "No SIM.\n\nTo make a call,\nplease insert a SIM card.",
+ "app_call_offline": "You're offline.\n\nTo make a call\n switch to the Connected mode.",
+ "app_messages_title_main": "Messages",
+ "app_messages_new_message": "New Message",
+ "app_messages_no_messages": "There are no messages yet.\nPress Left arrow to add new.",
+ "app_messages_thread_delete_confirmation": "Do you really want to delete\nthis conversation?",
+ "app_messages_message_delete_confirmation": "<text align='center'><p>Do you really want to <text weight='bold'>delete</text></p>this message?</text>",
+ "app_messages_thread_no_result": "There are no results",
+ "app_messages_message": "Message",
+ "app_messages_templates": "Templates",
+ "app_messages_no_sim": "No SIM.\n\nTo send a SMS,\nplease insert a SIM card.",
+ "app_messages_offline": "You're offline.\n\nTo send a SMS\n switch to the Connected mode.",
+ "app_messages_thread_draft": "Draft: ",
+ "app_messages_thread_not_sent": "Not sent: ",
+ "app_messages_thread_you": "You: ",
+ "app_settings_title_main": "Settings",
+ "app_settings_title_main_new": "Settings New",
+ "app_settings_bt": "Bluetooth",
+ "app_settings_bluetooth_add_device": "Add device",
+ "app_settings_bluetooth_all_devices": "All devices",
+ "app_settings_bluetooth_all_devices_indent": " All devices",
+ "app_settings_bluetooth_searching_devices": "Searching devices... \nIt may take a moment.",
+ "app_settings_bluetooth_main": "Bluetooth",
+ "app_settings_bluetooth_phone_name": "Phone name",
+ "app_settings_bluetooth_phone_name_indent": " Phone name",
+ "app_settings_bluetooth_phone_visibility": "Phone visibility",
+ "app_settings_net": "Network",
+ "app_settings_disp_key": "Display and keypad",
+ "app_settings_display_display_light": "Display light",
+ "app_settings_display_light_main": "Frontlight",
+ "app_settings_display_light_auto": "Automatic",
+ "app_settings_display_light_brightness": "Brightness",
+ "app_settings_display_font_size": "Font size",
+ "app_settings_display_locked_screen": "Locked screen",
+ "app_settings_display_keypad_light": "Keypad light",
+ "app_settings_display_keypad_light_on": "Always on",
+ "app_settings_display_keypad_light_active": "On when active",
+ "app_settings_display_keypad_light_off": "Off",
+ "app_settings_display_input_language": "Input language",
+ "app_settings_display_locked_screen_autolock": "Autolock",
+ "app_settings_display_locked_screen_wallpaper": "Wallpaper",
+ "app_settings_display_locked_screen_quotes": "Quotes",
+ "app_settings_display_locked_screen_new_quote": "New quote",
+ "app_settings_display_wallpaper_logo": "Mudita logo",
+ "app_settings_display_wallpaper_clock": "Clock",
+ "app_settings_display_wallpaper_quotes": "Quotes",
+ "app_settings_display_wallpaper_select_quotes": "Select Quotes",
+ "app_settings_system": "System",
+ "app_settings_apps_tools": "Apps and tools",
+ "app_settings_apps_messages": "Messages",
+ "app_settings_show_unread_first": "Show unread first",
+ "app_settings_Templates": "Templates",
+ "app_settings_apps_torch": "Torch",
+ "app_settings_title_torch": "Torch",
+ "app_settings_torch_sunset_red_light_option": "Sunset red light",
+ "app_settings_torch_nightshift_time_option": "Nightshift time",
+ "app_settings_torch_description": "In the nightshift, the torch will use\nsunset red light so it won't disturb\nyour and others sleep.",
+ "app_settings_date_and_time": "Date and Time",
+ "app_settings_title_day": "Day",
+ "app_settings_title_month": "Month",
+ "app_settings_title_year": "Year",
+ "app_settings_title_time": "Time",
+ "app_settings_cellular_passthrough": "Cellular <-> USB",
+ "app_settings_display": "Display",
+ "app_settings_phone_modes": "Phone Modes",
+ "app_settings_security": "Security",
+ "app_settings_language": "Language",
+ "app_settings_about": "About Mudita Pure",
+ "app_settings_title_languages": "Language Selection",
+ "app_settings_language_english": "English",
+ "app_settings_language_polish": "Polish",
+ "app_settings_language_german": "German",
+ "app_settings_language_spanish": "Spanish",
+ "app_settings_network_active_card": "Active card",
+ "app_settings_network_operator_auto_select": "Operator auto-select",
+ "app_settings_network_all_operators": "All Operators",
+ "app_settings_network_import_contacts_from_sim_card": "Import contacts from SIM card",
+ "app_settings_network_sim1": "Sim1",
+ "app_settings_network_sim2": "Sim2",
+ "app_settings_toggle_on": "ON",
+ "app_settings_toggle_off": "OFF",
+ "app_phonebook_title_main": "Contacts",
+ "app_phonebook_search_win_contacts": "Contacts",
+ "common_search_uc": "Search",
+ "app_phonebook_search_win_info": "Type what do you need\nand click SEARCH",
+ "common_search_results": "Search results",
+ "app_phonebook_search_no_results": "No contacts found.",
+ "app_phonebook_list_favourites": "Favourites",
+ "app_phonebook_contact_title": "Add Contact",
+ "app_phonebook_contact_no_name": "no name",
+ "app_phonebook_contact_note": "Note",
+ "app_phonebook_contact_address": "Address",
+ "app_phonebook_contact_information": "Information",
+ "app_phonebook_contact_favourites_upper": "FAVOURITES",
+ "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
+ "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
+ "app_phonebook_ice_contacts_title": "ICE Contacts",
+ "app_phonebook_duplicate_numbers": "Number $CONTACT_SPEED_DIAL$ is assigned to \n $CONTACT_NAME$. Replace it?",
+ "app_phonebook_duplicate_speed_dial_title": "Speed dial key ($CONTACT_SPEED_DIAL$)",
+ "app_phonebook_options_title": "Options",
+ "app_phonebook_options_edit": "Edit Contact",
+ "app_phonebook_options_block": "Block",
+ "app_phonebook_options_block_confirm": "Block this contact?",
+ "app_phonebook_options_block_notification": "Contact blocked.",
+ "app_phonebook_options_unblock": "Unblock",
+ "app_phonebook_options_unblock_confirm": "Unblock this contact?",
+ "app_phonebook_options_unblock_notification": "Contact unblocked.",
+ "app_phonebook_options_delete": "Delete",
+ "app_phonebook_options_delete_confirm": "Do you really want to delete\nthis contact?",
+ "app_phonebook_options_delete_notification": "This contact has been deleted\nsuccessfully.",
+ "app_phonebook_options_send_bt": "Send via Bluetooth",
+ "app_phonebook_options_forward_namecard": "Forward namecard",
+ "app_phonebook_options_send_sms": "Send via SMS",
+ "app_phonebook_new_contact_first_name": "First name",
+ "app_phonebook_new_contact_second_name": "Second name",
+ "app_phonebook_new_contact_number": "Number",
+ "app_phonebook_new_contact_second_number": "Second number",
+ "app_phonebook_new_contact_email": "Email",
+ "app_phonebook_new_contact_address": "Address",
+ "app_phonebook_new_contact_note": "Note",
+ "app_phonebook_new_speed_dial_key": "Speed dial key",
+ "app_phonebook_new_add_to_fav": "Add to favourites",
+ "app_phonebook_new_add_to_ice": "Add to ICE",
+ "app_phonebook_check": "CHECK",
+ "app_phonebook_uncheck": "UNCHECK",
+ "app_meditation_title_main": "Meditation",
+ "app_meditation_preparation_time": "Preparation time",
+ "app_meditation_put_down_phone_and_wait": "<text>Put down the phone and wait for<br>the gong.</text>",
+ "app_meditation_thank_you_for_session": "<text>Thank you for this<br>meditation session.</text>",
+ "app_meditation_option_show_counter": "Show meditation counter",
+ "app_meditation_interval_chime": "Interval Chime",
+ "app_meditation_interval_none": "None",
+ "app_meditation_interval_every_x_minutes": "Every %0 minutes",
+ "app_music_player_all_songs": "All songs",
+ "app_music_player_play": "PLAY",
+ "app_music_player_music_library": "MUSIC LIBRARY",
+ "app_music_player_quit": "QUIT",
+ "app_music_player_music_empty_window_notification": "Press Music Library to choose\n a song from the library",
+ "app_special_input_window": "Special characters",
+ "app_emoji_input_window": "Emoji",
+ "sms_add_rec_num": "Add recipient or type a number",
+ "sms_title_message": "New message",
+ "sms_call_text": "Call ",
+ "sms_resend_failed": "Send again",
+ "sms_delete_conversation": "Delete conversation",
+ "sms_forward_message": "Forward message",
+ "sms_copy": "Copy",
+ "sms_delete_message": "Delete",
+ "sms_from_this_sms": "From this message",
+ "sms_use_template": "Use Template",
+ "sms_paste": "Paste",
+ "sms_reply": "REPLY",
+ "sms_temp_reply": "Reply",
+ "sms_mark_read": "Mark as read",
+ "sms_mark_unread": "Mark as unread",
+ "settings_lang_PL": "PL",
+ "settings_lang_ENG": "ENG",
+ "settings_lang_DE": "DE",
+ "settings_lang_SP": "SP",
+ "desktop_powerdown_info1": "Now It is truly...",
+ "desktop_powerdown_info2": "Disabled!!!",
+ "app_desktop_update": "Update",
+ "app_desktop_update_to": "Update to",
+ "app_desktop_update_apply": "Do you want to apply this update?",
+ "app_desktop_update_current": "Current",
+ "app_desktop_update_apply": "Apply update?",
+ "app_desktop_update_start": "Update start",
+ "app_desktop_update_size": "size",
+ "app_desktop_update_bytes": "bytes",
+ "app_desktop_update_unpacking": "Unpacking"
}
R image/assets/lang/lang_sp.json => image/assets/lang/Espanol.json +176 -190
@@ 1,192 1,178 @@
{
- "common_kbd_lower": "lang_sp_lower",
- "common_kbd_upper": "lang_sp_upper",
- "common_kbd_numeric": "numeric",
-
- "common_add": "ADD",
- "common_open": "ABIERTA",
- "common_call": "CALL",
- "common_save": "SAVE",
- "common_send": "SEND",
- "common_confirm": "CONFIRMAR",
- "common_select": "SELECT",
- "common_ok": "OK",
- "common_back": "ATRÁS",
- "common_set": "CONJUNTO",
- "common_yes": "Yes",
- "common_no": "No",
- "common_speaker": "SPEAKER",
- "common_mute": "MUTE",
- "common_switch": "CAMBIAR",
- "common_options": "OPCIONES",
- "common_monday": "Lunes",
- "common_tuesday": "Martes",
- "common_wednesday": "Miércoles",
- "common_thursday": "Jueves",
- "common_friday": "Viernes",
- "common_saturday": "Sábado",
- "common_sunday": "Domingo",
-
- "common_information": "Information",
-
- "common_january": "January",
- "common_february": "February",
- "common_march": "March",
- "common_april": "April",
- "common_may": "May",
- "common_june": "June",
- "common_july": "July",
- "common_august": "August",
- "common_september": "September",
- "common_october": "October",
- "common_november": "November",
- "common_december": "December",
- "common_yesterday" : "Yesterday",
- "common_today" : "Today",
- "locale_12hour_min" : "%I:%M %p",
- "locale_24hour_min" : "%H:%M",
- "locale_date_full" : "%m/%d/%y",
- "locale_date_short" : "%d/%m",
-
- "app_notes_title_main": "Notes",
- "app_notes_new_note": "New Note",
- "app_notes_save": "SAVE",
- "app_notes_edit": "EDIT",
- "app_notes_back": "BACK",
-
- "app_calllog_title_main": "Calls",
- "app_calllog_new_note": "New Note",
- "app_calllog_save": "SAVE",
- "app_calllog_edit": "EDIT",
- "app_calllog_back": "BACK",
- "app_calllog_type": "Type",
- "app_calllog_duration": "Duration",
- "app_calllog_incoming_call": "incoming call",
- "app_calllog_outgoing_call": "outgoing call",
- "app_calllog_missed_call": "missed call",
- "app_calllog_date": "Date",
- "app_calllog_options_title": "Options",
- "app_calllog_options_contact_details": "Contact details",
- "app_calllog_options_delete_call": "Delete call",
- "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
-
- "app_desktop_unlock": "DESBLOQUEAR",
- "app_desktop_lock": "BLOQUEAR",
- "app_desktop_menu": "MENÚ",
- "app_desktop_emergency": "EMERGENCIA",
- "app_desktop_pin_lock": "Enter passcode",
- "app_desktop_pin_info1": "Wrong passcode",
- "app_desktop_pin_info2": "Allowed unlock attempts",
- "app_desktop_pin_blocked1": "Sorry, phone blocked",
- "app_desktop_unread_messages": "unread messages",
- "app_desktop_missed_calls": "missed calls",
- "app_desktop_menu_phone": "PHONE",
- "app_desktop_menu_contacts": "CONTACTS",
- "app_desktop_menu_messages": "MESSAGES",
- "app_desktop_menu_calendar": "CALENDAR",
- "app_desktop_menu_alarm": "ALARM",
- "app_desktop_menu_meditation": "MEDITATION",
- "app_desktop_menu_music": "MUSIC",
- "app_desktop_menu_tools": "TOOLS",
- "app_desktop_menu_settings": "SETTINGS",
- "app_desktop_menu_phonebook": "CONTACTOS",
- "app_desktop_menu_title": "Main Menu",
- "app_desktop_tools_title": "Tools",
- "app_desktop_tools_notes": "NOTES",
- "app_desktop_tools_calculator": "CALCULATOR",
- "app_desktop_tools_recorder": "RECORDER",
- "app_desktop_tools_antenna": "ANTENNA TEST",
- "app_desktop_poweroff_title": "Turn Off",
- "app_desktop_poweroff_question": "Select Yes to power down",
-
- "app_call_call": "CALL",
- "app_call_clear": "CLEAR",
- "app_call_reject": "REJECT",
- "app_call_answer": "ANSWER",
- "app_call_message": "MESSAGE",
- "app_call_return": "RETURN",
- "app_call_end_call": "END CALL",
- "app_call_emergency": "Emergency call",
- "app_call_is_calling": "is calling",
- "app_call_call_ended": "call ended",
- "app_call_contact": "CONTACT",
-
- "app_messages_title_main": "Messages",
- "app_messages_new_message": "New Message",
-
- "app_settings_title_main": "Settings",
- "app_settings_bt" : "Bluetooth",
- "app_settings_date_and_time": "Date and Time",
- "app_settings_title_day": "Day",
- "app_settings_title_month": "Month",
- "app_settings_title_year": "Year",
- "app_settings_title_time": "Time",
- "app_settings_display": "Display",
- "app_settings_phone_modes": "Phone Modes",
- "app_settings_security": "Security",
- "app_settings_language": "Language",
- "app_settings_about": "About Mudita Pure",
- "app_settings_title_languages": "Language Selection",
- "app_settings_language_english": "Inglesa",
- "app_settings_language_polish": "Polaco",
- "app_settings_language_german": "Alemana",
- "app_settings_language_spanish": "Español",
- "app_settings_date_time": "Date and Time",
- "app_settings_cellular_passthrough": "Cellular <-> USB",
-
- "app_phonebook_title_main": "Contactos",
- "app_phonebook_call": "CALL",
- "app_phonebook_save": "SAVE",
- "app_phonebook_open": "OPEN",
- "app_phonebook_select": "SELECT",
- "app_phonebook_search_win_contacts": "Contacts",
- "common_search_uc": "Search",
- "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
- "common_search_results": "Results",
- "app_phonebook_list_favourites": "Favourites",
- "app_phonebook_contact_title": "Add Contact",
- "app_phonebook_contact_no_name": "no name",
- "app_phonebook_contact_note": "Note",
- "app_phonebook_contact_address": "Address",
- "app_phonebook_contact_information": "Information",
- "app_phonebook_contact_favourites_upper": "FAVOURITES",
- "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
- "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
- "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
- "app_phonebook_duplicate_speed_dial":"This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
- "app_phonebook_options_title": "Options",
- "app_phonebook_options_edit": "Edit Contact",
- "app_phonebook_options_block": "Block",
- "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
- "app_phonebook_options_delete": "Delete",
- "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
- "app_phonebook_options_send_bt": "Send via Bluetooth",
- "app_phonebook_options_forward_namecard": "Forward namecard",
- "app_phonebook_options_send_sms": "Send via SMS",
- "app_phonebook_new_contact_first_name": "First name",
- "app_phonebook_new_contact_second_name": "Second name",
- "app_phonebook_new_contact_number": "Number",
- "app_phonebook_new_contact_second_number": "Second number",
- "app_phonebook_new_contact_email": "Email",
- "app_phonebook_new_contact_address": "Address",
- "app_phonebook_new_contact_note": "Note",
- "app_phonebook_new_speed_dial_key": "Speed dial key",
- "app_phonebook_new_add_to_fav": "Add to favourites",
- "app_phonebook_new_add_to_ice": "Add to ICE",
- "app_phonebook_check": "CHECK",
- "app_phonebook_uncheck": "UNCHECK",
-
- "app_meditation_title_main": "Meditation",
-
- "sms_call_text" : "Llamado: ",
- "sms_contact_details" : "Detales de contacto: ",
- "sms_delete_conversation" : "Eliminar conversación",
-
- "settings_lang_PL": "PL",
- "settings_lang_ENG": "ENG",
- "settings_lang_DE": "DE",
- "settings_lang_SP": "SP",
- "desktop_powerdown_info1": "Now It is truly...",
- "desktop_powerdown_info2": "Disabled!!!"
-
+ "common_kbd_lower": "lang_sp_lower",
+ "common_kbd_upper": "lang_sp_upper",
+ "common_kbd_numeric": "numeric",
+ "common_add": "ADD",
+ "common_open": "ABIERTA",
+ "common_call": "CALL",
+ "common_save": "SAVE",
+ "common_send": "SEND",
+ "common_confirm": "CONFIRMAR",
+ "common_select": "SELECT",
+ "common_ok": "OK",
+ "common_back": "ATRÁS",
+ "common_set": "CONJUNTO",
+ "common_yes": "Yes",
+ "common_no": "No",
+ "common_speaker": "SPEAKER",
+ "common_mute": "MUTE",
+ "common_switch": "CAMBIAR",
+ "common_options": "OPCIONES",
+ "common_monday": "Lunes",
+ "common_tuesday": "Martes",
+ "common_wednesday": "Miércoles",
+ "common_thursday": "Jueves",
+ "common_friday": "Viernes",
+ "common_saturday": "Sábado",
+ "common_sunday": "Domingo",
+ "common_information": "Information",
+ "common_january": "January",
+ "common_february": "February",
+ "common_march": "March",
+ "common_april": "April",
+ "common_may": "May",
+ "common_june": "June",
+ "common_july": "July",
+ "common_august": "August",
+ "common_september": "September",
+ "common_october": "October",
+ "common_november": "November",
+ "common_december": "December",
+ "common_yesterday": "Yesterday",
+ "common_today": "Today",
+ "locale_12hour_min": "%I:%M %p",
+ "locale_24hour_min": "%H:%M",
+ "locale_date_full": "%m/%d/%y",
+ "locale_date_short": "%d/%m",
+ "app_notes_title_main": "Notes",
+ "app_notes_new_note": "New Note",
+ "app_notes_save": "SAVE",
+ "app_notes_edit": "EDIT",
+ "app_notes_back": "BACK",
+ "app_calllog_title_main": "Calls",
+ "app_calllog_new_note": "New Note",
+ "app_calllog_save": "SAVE",
+ "app_calllog_edit": "EDIT",
+ "app_calllog_back": "BACK",
+ "app_calllog_type": "Type",
+ "app_calllog_duration": "Duration",
+ "app_calllog_incoming_call": "incoming call",
+ "app_calllog_outgoing_call": "outgoing call",
+ "app_calllog_missed_call": "missed call",
+ "app_calllog_date": "Date",
+ "app_calllog_options_title": "Options",
+ "app_calllog_options_contact_details": "Contact details",
+ "app_calllog_options_delete_call": "Delete call",
+ "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
+ "app_desktop_unlock": "DESBLOQUEAR",
+ "app_desktop_lock": "BLOQUEAR",
+ "app_desktop_menu": "MENÚ",
+ "app_desktop_emergency": "EMERGENCIA",
+ "app_desktop_pin_lock": "Enter passcode",
+ "app_desktop_pin_info1": "Wrong passcode",
+ "app_desktop_pin_info2": "Allowed unlock attempts",
+ "app_desktop_pin_blocked1": "Sorry, phone blocked",
+ "app_desktop_unread_messages": "unread messages",
+ "app_desktop_missed_calls": "missed calls",
+ "app_desktop_menu_phone": "PHONE",
+ "app_desktop_menu_contacts": "CONTACTS",
+ "app_desktop_menu_messages": "MESSAGES",
+ "app_desktop_menu_calendar": "CALENDAR",
+ "app_desktop_menu_alarm": "ALARM",
+ "app_desktop_menu_meditation": "MEDITATION",
+ "app_desktop_menu_music": "MUSIC",
+ "app_desktop_menu_tools": "TOOLS",
+ "app_desktop_menu_settings": "SETTINGS",
+ "app_desktop_menu_phonebook": "CONTACTOS",
+ "app_desktop_menu_title": "Main Menu",
+ "app_desktop_tools_title": "Tools",
+ "app_desktop_tools_notes": "NOTES",
+ "app_desktop_tools_calculator": "CALCULATOR",
+ "app_desktop_tools_recorder": "RECORDER",
+ "app_desktop_tools_antenna": "ANTENNA TEST",
+ "app_desktop_poweroff_title": "Turn Off",
+ "app_desktop_poweroff_question": "Select Yes to power down",
+ "app_call_call": "CALL",
+ "app_call_clear": "CLEAR",
+ "app_call_reject": "REJECT",
+ "app_call_answer": "ANSWER",
+ "app_call_message": "MESSAGE",
+ "app_call_return": "RETURN",
+ "app_call_end_call": "END CALL",
+ "app_call_emergency": "Emergency call",
+ "app_call_is_calling": "is calling",
+ "app_call_call_ended": "call ended",
+ "app_call_contact": "CONTACT",
+ "app_messages_title_main": "Messages",
+ "app_messages_new_message": "New Message",
+ "app_settings_title_main": "Settings",
+ "app_settings_bt": "Bluetooth",
+ "app_settings_date_and_time": "Date and Time",
+ "app_settings_title_day": "Day",
+ "app_settings_title_month": "Month",
+ "app_settings_title_year": "Year",
+ "app_settings_title_time": "Time",
+ "app_settings_display": "Display",
+ "app_settings_phone_modes": "Phone Modes",
+ "app_settings_security": "Security",
+ "app_settings_language": "Language",
+ "app_settings_about": "About Mudita Pure",
+ "app_settings_title_languages": "Language Selection",
+ "app_settings_language_english": "Inglesa",
+ "app_settings_language_polish": "Polaco",
+ "app_settings_language_german": "Alemana",
+ "app_settings_language_spanish": "Español",
+ "app_settings_date_time": "Date and Time",
+ "app_settings_cellular_passthrough": "Cellular <-> USB",
+ "app_phonebook_title_main": "Contactos",
+ "app_phonebook_call": "CALL",
+ "app_phonebook_save": "SAVE",
+ "app_phonebook_open": "OPEN",
+ "app_phonebook_select": "SELECT",
+ "app_phonebook_search_win_contacts": "Contacts",
+ "common_search_uc": "Search",
+ "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
+ "common_search_results": "Results",
+ "app_phonebook_list_favourites": "Favourites",
+ "app_phonebook_contact_title": "Add Contact",
+ "app_phonebook_contact_no_name": "no name",
+ "app_phonebook_contact_note": "Note",
+ "app_phonebook_contact_address": "Address",
+ "app_phonebook_contact_information": "Information",
+ "app_phonebook_contact_favourites_upper": "FAVOURITES",
+ "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
+ "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
+ "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
+ "app_phonebook_duplicate_speed_dial": "This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
+ "app_phonebook_options_title": "Options",
+ "app_phonebook_options_edit": "Edit Contact",
+ "app_phonebook_options_block": "Block",
+ "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
+ "app_phonebook_options_delete": "Delete",
+ "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
+ "app_phonebook_options_send_bt": "Send via Bluetooth",
+ "app_phonebook_options_forward_namecard": "Forward namecard",
+ "app_phonebook_options_send_sms": "Send via SMS",
+ "app_phonebook_new_contact_first_name": "First name",
+ "app_phonebook_new_contact_second_name": "Second name",
+ "app_phonebook_new_contact_number": "Number",
+ "app_phonebook_new_contact_second_number": "Second number",
+ "app_phonebook_new_contact_email": "Email",
+ "app_phonebook_new_contact_address": "Address",
+ "app_phonebook_new_contact_note": "Note",
+ "app_phonebook_new_speed_dial_key": "Speed dial key",
+ "app_phonebook_new_add_to_fav": "Add to favourites",
+ "app_phonebook_new_add_to_ice": "Add to ICE",
+ "app_phonebook_check": "CHECK",
+ "app_phonebook_uncheck": "UNCHECK",
+ "app_meditation_title_main": "Meditation",
+ "sms_call_text": "Llamado: ",
+ "sms_contact_details": "Detales de contacto: ",
+ "sms_delete_conversation": "Eliminar conversación",
+ "settings_lang_PL": "PL",
+ "settings_lang_ENG": "ENG",
+ "settings_lang_DE": "DE",
+ "settings_lang_SP": "SP",
+ "desktop_powerdown_info1": "Now It is truly...",
+ "desktop_powerdown_info2": "Disabled!!!"
}
R image/assets/lang/lang_fr.json => image/assets/lang/Francais.json +171 -185
@@ 1,187 1,173 @@
{
- "common_kbd_lower": "lang_fr_lower",
- "common_kbd_upper": "lang_fr_upper",
- "common_kbd_numeric": "numeric",
-
- "common_add": "ADD",
- "common_open": "OPEN",
- "common_call": "CALL",
- "common_save": "SAVE",
- "common_send": "SEND",
- "common_confirm": "CONFIRM",
- "common_select": "SELECT",
- "common_ok": "OK",
- "common_back": "BACK",
- "common_set": "SET",
- "common_yes": "Yes",
- "common_no": "No",
- "common_speaker": "SPEAKER",
- "common_mute": "MUTE",
- "common_switch": "SWITCH",
- "common_options": "OPTIONS",
- "common_monday": "Monday",
- "common_tuesday": "Tuesday",
- "common_wednesday": "Wednesday",
- "common_thursday": "Thursday",
- "common_friday": "Friday",
- "common_saturday": "Saturday",
- "common_sunday": "Sunday",
-
- "common_information": "Information",
-
- "common_january": "January",
- "common_february": "February",
- "common_march": "March",
- "common_april": "April",
- "common_may": "May",
- "common_june": "June",
- "common_july": "July",
- "common_august": "August",
- "common_september": "September",
- "common_october": "October",
- "common_november": "November",
- "common_december": "December",
- "common_yesterday" : "Yesterday",
- "common_today" : "Today",
- "locale_12hour_min" : "%I:%M %p",
- "locale_24hour_min" : "%H:%M",
- "locale_date_full" : "%m/%d/%y",
- "locale_date_short" : "%d/%m",
-
- "app_notes_title_main": "Notes",
- "app_notes_new_note": "New Note",
- "app_notes_save": "SAVE",
- "app_notes_edit": "EDIT",
- "app_notes_back": "BACK",
-
- "app_calllog_title_main": "Calls",
- "app_calllog_save": "SAVE",
- "app_calllog_edit": "EDIT",
- "app_calllog_back": "BACK",
- "app_calllog_type": "Type",
- "app_calllog_duration": "Duration",
- "app_calllog_incoming_call": "incoming call",
- "app_calllog_outgoing_call": "outgoing call",
- "app_calllog_missed_call": "missed call",
- "app_calllog_date": "Date",
- "app_calllog_options_title": "Options",
- "app_calllog_options_contact_details": "Contact details",
- "app_calllog_options_delete_call": "Delete call",
- "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
-
- "app_desktop_unlock": "UNLOCK",
- "app_desktop_lock": "LOCK",
- "app_desktop_menu": "MENU",
- "app_desktop_emergency": "EMERG.",
- "app_desktop_pin_lock": "Enter passcode",
- "app_desktop_pin_info1": "Wrong passcode",
- "app_desktop_pin_info2": "Allowed unlock attempts",
- "app_desktop_pin_blocked1": "Sorry, phone blocked",
- "app_desktop_unread_messages": "unread messages",
- "app_desktop_missed_calls": "missed calls",
- "app_desktop_menu_phone": "PHONE",
- "app_desktop_menu_contacts": "CONTACTS",
- "app_desktop_menu_messages": "MESSAGES",
- "app_desktop_menu_calendar": "CALENDAR",
- "app_desktop_menu_alarm": "ALARM",
- "app_desktop_menu_meditation": "MEDITATION",
- "app_desktop_menu_music": "MUSIC",
- "app_desktop_menu_tools": "TOOLS",
- "app_desktop_menu_settings": "SETTINGS",
- "app_desktop_menu_phonebook": "PHONEBOOK",
- "app_desktop_menu_title": "Main Menu",
- "app_desktop_tools_title": "Tools",
- "app_desktop_tools_notes": "NOTES",
- "app_desktop_tools_calculator": "CALCULATOR",
- "app_desktop_tools_recorder": "RECORDER",
- "app_desktop_tools_antenna": "ANTENNA TEST",
- "app_desktop_poweroff_title": "Turn Off",
- "app_desktop_poweroff_question": "Select Yes to power down",
-
- "app_call_call": "CALL",
- "app_call_clear": "CLEAR",
- "app_call_reject": "REJECT",
- "app_call_answer": "ANSWER",
- "app_call_message": "MESSAGE",
- "app_call_return": "RETURN",
- "app_call_end_call": "END CALL",
- "app_call_emergency": "Emergency call",
- "app_call_is_calling": "is calling",
- "app_call_call_ended": "call ended",
- "app_call_contact": "CONTACT",
-
- "app_settings_title_main": "Settings",
- "app_settings_bt" : "Bluetooth",
- "app_settings_date_and_time": "Date and Time",
- "app_settings_title_day": "Day",
- "app_settings_title_month": "Month",
- "app_settings_title_year": "Year",
- "app_settings_title_time": "Time",
- "app_settings_cellular_passthrough": "Cellular <-> USB",
- "app_settings_display": "Display",
- "app_settings_phone_modes": "Phone Modes",
- "app_settings_security": "Security",
- "app_settings_language": "Language",
- "app_settings_about": "About Mudita Pure",
- "app_settings_title_languages": "Language Selection",
- "app_settings_language_english": "English",
- "app_settings_language_polish": "Polish",
- "app_settings_language_german": "German",
- "app_settings_language_spanish": "Spanish",
- "app_settings_date_time": "Date and Time",
-
- "app_messages_title_main": "Messages",
- "app_messages_new_message": "New Message",
-
- "app_phonebook_title_main": "Contacts",
- "app_phonebook_search_win_contacts": "Contacts",
- "common_search_uc": "Search",
- "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
- "common_search_results": "Results",
- "app_phonebook_list_favourites": "Favourites",
- "app_phonebook_contact_title": "Add Contact",
- "app_phonebook_contact_note": "Note",
- "app_phonebook_contact_address": "Address",
- "app_phonebook_contact_information": "Information",
- "app_phonebook_contact_favourites_upper": "FAVOURITES",
- "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
- "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
- "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
- "app_phonebook_duplicate_speed_dial":"This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
- "app_phonebook_options_title": "Options",
- "app_phonebook_contact_no_name": "no name",
- "app_phonebook_options_edit": "Edit Contact",
- "app_phonebook_options_block": "Block",
- "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
- "app_phonebook_options_delete": "Delete",
- "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
- "app_phonebook_options_send_bt": "Send via Bluetooth",
- "app_phonebook_options_forward_namecard": "Forward namecard",
- "app_phonebook_options_send_sms": "Send via SMS",
- "app_phonebook_new_contact_first_name": "First name",
- "app_phonebook_new_contact_second_name": "Second name",
- "app_phonebook_new_contact_number": "Number",
- "app_phonebook_new_contact_second_number": "Second number",
- "app_phonebook_new_contact_email": "Email",
- "app_phonebook_new_contact_address": "Address",
- "app_phonebook_new_contact_note": "Note",
- "app_phonebook_new_speed_dial_key": "Speed dial key",
- "app_phonebook_new_add_to_fav": "Add to favourites",
- "app_phonebook_new_add_to_ice": "Add to ICE",
- "app_phonebook_check": "CHECK",
- "app_phonebook_uncheck": "UNCHECK",
-
- "app_meditation_title_main": "Meditation",
-
- "sms_call_text" : "Call: ",
- "sms_contact_details" : "Contact details",
- "sms_delete_conversation" : "Delete conversation",
-
- "settings_lang_PL": "PL",
- "settings_lang_ENG": "ENG",
- "settings_lang_DE": "DE",
- "settings_lang_SP": "SP",
- "desktop_powerdown_info1": "Now It is truly...",
- "desktop_powerdown_info2": "Disabled!!!"
-
+ "common_kbd_lower": "lang_fr_lower",
+ "common_kbd_upper": "lang_fr_upper",
+ "common_kbd_numeric": "numeric",
+ "common_add": "ADD",
+ "common_open": "OPEN",
+ "common_call": "CALL",
+ "common_save": "SAVE",
+ "common_send": "SEND",
+ "common_confirm": "CONFIRM",
+ "common_select": "SELECT",
+ "common_ok": "OK",
+ "common_back": "BACK",
+ "common_set": "SET",
+ "common_yes": "Yes",
+ "common_no": "No",
+ "common_speaker": "SPEAKER",
+ "common_mute": "MUTE",
+ "common_switch": "SWITCH",
+ "common_options": "OPTIONS",
+ "common_monday": "Monday",
+ "common_tuesday": "Tuesday",
+ "common_wednesday": "Wednesday",
+ "common_thursday": "Thursday",
+ "common_friday": "Friday",
+ "common_saturday": "Saturday",
+ "common_sunday": "Sunday",
+ "common_information": "Information",
+ "common_january": "January",
+ "common_february": "February",
+ "common_march": "March",
+ "common_april": "April",
+ "common_may": "May",
+ "common_june": "June",
+ "common_july": "July",
+ "common_august": "August",
+ "common_september": "September",
+ "common_october": "October",
+ "common_november": "November",
+ "common_december": "December",
+ "common_yesterday": "Yesterday",
+ "common_today": "Today",
+ "locale_12hour_min": "%I:%M %p",
+ "locale_24hour_min": "%H:%M",
+ "locale_date_full": "%m/%d/%y",
+ "locale_date_short": "%d/%m",
+ "app_notes_title_main": "Notes",
+ "app_notes_new_note": "New Note",
+ "app_notes_save": "SAVE",
+ "app_notes_edit": "EDIT",
+ "app_notes_back": "BACK",
+ "app_calllog_title_main": "Calls",
+ "app_calllog_save": "SAVE",
+ "app_calllog_edit": "EDIT",
+ "app_calllog_back": "BACK",
+ "app_calllog_type": "Type",
+ "app_calllog_duration": "Duration",
+ "app_calllog_incoming_call": "incoming call",
+ "app_calllog_outgoing_call": "outgoing call",
+ "app_calllog_missed_call": "missed call",
+ "app_calllog_date": "Date",
+ "app_calllog_options_title": "Options",
+ "app_calllog_options_contact_details": "Contact details",
+ "app_calllog_options_delete_call": "Delete call",
+ "app_calllog_delete_call_confirmation": "Do you really want to delete this call from the list?",
+ "app_desktop_unlock": "UNLOCK",
+ "app_desktop_lock": "LOCK",
+ "app_desktop_menu": "MENU",
+ "app_desktop_emergency": "EMERG.",
+ "app_desktop_pin_lock": "Enter passcode",
+ "app_desktop_pin_info1": "Wrong passcode",
+ "app_desktop_pin_info2": "Allowed unlock attempts",
+ "app_desktop_pin_blocked1": "Sorry, phone blocked",
+ "app_desktop_unread_messages": "unread messages",
+ "app_desktop_missed_calls": "missed calls",
+ "app_desktop_menu_phone": "PHONE",
+ "app_desktop_menu_contacts": "CONTACTS",
+ "app_desktop_menu_messages": "MESSAGES",
+ "app_desktop_menu_calendar": "CALENDAR",
+ "app_desktop_menu_alarm": "ALARM",
+ "app_desktop_menu_meditation": "MEDITATION",
+ "app_desktop_menu_music": "MUSIC",
+ "app_desktop_menu_tools": "TOOLS",
+ "app_desktop_menu_settings": "SETTINGS",
+ "app_desktop_menu_phonebook": "PHONEBOOK",
+ "app_desktop_menu_title": "Main Menu",
+ "app_desktop_tools_title": "Tools",
+ "app_desktop_tools_notes": "NOTES",
+ "app_desktop_tools_calculator": "CALCULATOR",
+ "app_desktop_tools_recorder": "RECORDER",
+ "app_desktop_tools_antenna": "ANTENNA TEST",
+ "app_desktop_poweroff_title": "Turn Off",
+ "app_desktop_poweroff_question": "Select Yes to power down",
+ "app_call_call": "CALL",
+ "app_call_clear": "CLEAR",
+ "app_call_reject": "REJECT",
+ "app_call_answer": "ANSWER",
+ "app_call_message": "MESSAGE",
+ "app_call_return": "RETURN",
+ "app_call_end_call": "END CALL",
+ "app_call_emergency": "Emergency call",
+ "app_call_is_calling": "is calling",
+ "app_call_call_ended": "call ended",
+ "app_call_contact": "CONTACT",
+ "app_settings_title_main": "Settings",
+ "app_settings_bt": "Bluetooth",
+ "app_settings_date_and_time": "Date and Time",
+ "app_settings_title_day": "Day",
+ "app_settings_title_month": "Month",
+ "app_settings_title_year": "Year",
+ "app_settings_title_time": "Time",
+ "app_settings_cellular_passthrough": "Cellular <-> USB",
+ "app_settings_display": "Display",
+ "app_settings_phone_modes": "Phone Modes",
+ "app_settings_security": "Security",
+ "app_settings_language": "Language",
+ "app_settings_about": "About Mudita Pure",
+ "app_settings_title_languages": "Language Selection",
+ "app_settings_language_english": "English",
+ "app_settings_language_polish": "Polish",
+ "app_settings_language_german": "German",
+ "app_settings_language_spanish": "Spanish",
+ "app_settings_date_time": "Date and Time",
+ "app_messages_title_main": "Messages",
+ "app_messages_new_message": "New Message",
+ "app_phonebook_title_main": "Contacts",
+ "app_phonebook_search_win_contacts": "Contacts",
+ "common_search_uc": "Search",
+ "app_phonebook_search_win_info": "Type what do you need and click SEARCH",
+ "common_search_results": "Results",
+ "app_phonebook_list_favourites": "Favourites",
+ "app_phonebook_contact_title": "Add Contact",
+ "app_phonebook_contact_note": "Note",
+ "app_phonebook_contact_address": "Address",
+ "app_phonebook_contact_information": "Information",
+ "app_phonebook_contact_favourites_upper": "FAVOURITES",
+ "app_phonebook_contact_speed_dial_upper": "SPEED DIAL",
+ "app_phonebook_contact_speed_blocked_uppper": "BLOCKED",
+ "app_phonebook_duplicate_numbers": "This numbers belongs to\n$CONTACT_NAME$. Would you like\nto create a new contact?",
+ "app_phonebook_duplicate_speed_dial": "This number is already assigned\nto $CONTACT_NAME$. Would you\nlike to replace it?",
+ "app_phonebook_options_title": "Options",
+ "app_phonebook_contact_no_name": "no name",
+ "app_phonebook_options_edit": "Edit Contact",
+ "app_phonebook_options_block": "Block",
+ "app_phonebook_options_block_confirm": "Do you really want to\nblock this contact?",
+ "app_phonebook_options_delete": "Delete",
+ "app_phonebook_options_delete_confirm": "Do you really want to\ndelete this contact?",
+ "app_phonebook_options_send_bt": "Send via Bluetooth",
+ "app_phonebook_options_forward_namecard": "Forward namecard",
+ "app_phonebook_options_send_sms": "Send via SMS",
+ "app_phonebook_new_contact_first_name": "First name",
+ "app_phonebook_new_contact_second_name": "Second name",
+ "app_phonebook_new_contact_number": "Number",
+ "app_phonebook_new_contact_second_number": "Second number",
+ "app_phonebook_new_contact_email": "Email",
+ "app_phonebook_new_contact_address": "Address",
+ "app_phonebook_new_contact_note": "Note",
+ "app_phonebook_new_speed_dial_key": "Speed dial key",
+ "app_phonebook_new_add_to_fav": "Add to favourites",
+ "app_phonebook_new_add_to_ice": "Add to ICE",
+ "app_phonebook_check": "CHECK",
+ "app_phonebook_uncheck": "UNCHECK",
+ "app_meditation_title_main": "Meditation",
+ "sms_call_text": "Call: ",
+ "sms_contact_details": "Contact details",
+ "sms_delete_conversation": "Delete conversation",
+ "settings_lang_PL": "PL",
+ "settings_lang_ENG": "ENG",
+ "settings_lang_DE": "DE",
+ "settings_lang_SP": "SP",
+ "desktop_powerdown_info1": "Now It is truly...",
+ "desktop_powerdown_info2": "Disabled!!!"
}
R image/assets/lang/lang_pl.json => image/assets/lang/Polski.json +171 -187
@@ 1,189 1,173 @@
{
- "common_kbd_lower": "lang_pl_lower",
- "common_kbd_upper": "lang_pl_upper",
- "common_kbd_numeric": "numeric",
-
- "common_add": "DODAJ",
- "common_open": "OTWÓRZ",
- "common_call": "DZWOŃ",
- "common_save": "ZAPISZ",
- "common_send": "WYŚLIJ",
- "common_confirm": "POTWIERDŹ",
- "common_select": "WYBIERZ",
- "common_ok": "DALEJ",
- "common_back": "WRÓĆ",
- "common_set": "USTAW",
- "common_yes": "Tak",
- "common_no": "Nie",
- "common_speaker": "GŁOŚNIK",
- "common_mute": "WYCISZ",
- "common_switch": "ZMIEŃ",
- "common_options": "OPCJE",
- "common_monday": "poniedziałek",
- "common_tuesday": "wtorek",
- "common_wednesday": "środa",
- "common_thursday": "czwartek",
- "common_friday": "piątek",
- "common_saturday": "sobota",
- "common_sunday": "niedziela",
-
- "common_information": "Informacje",
-
- "common_january": "stycznia",
- "common_february": "lutego",
- "common_march": "marca",
- "common_april": "kwietnia",
- "common_may": "maja",
- "common_june": "czerwca",
- "common_july": "lipca",
- "common_august": "sierpnia",
- "common_september": "września",
- "common_october": "października",
- "common_november": "listopada",
- "common_december": "grudnia",
- "common_yesterday" : "wczoraj",
- "common_today" : "dzisiaj",
- "locale_12hour_min" : "%I:%M",
- "locale_24hour_min" : "%H:%M",
- "locale_date_full" : "%d.%m.%y",
- "locale_date_short" : "%d.%m",
-
- "app_calculator_decimal_separator": ",",
-
- "app_notes_title_main": "Notatki",
- "app_notes_new_note": "Nowa Notatka",
- "app_notes_save": "ZAPISZ",
- "app_notes_edit": "EDYTUJ",
- "app_notes_back": "WROĆ",
-
- "app_calllog_title_main": "Rejestr Połączeń",
- "app_calllog_save": "ZAPISZ",
- "app_calllog_edit": "EDYTUJ",
- "app_calllog_back": "WRÓĆ",
- "app_calllog_type": "Typ",
- "app_calllog_duration": "Czas trwania",
- "app_calllog_incoming_call": "połączenie przychodzące",
- "app_calllog_outgoing_call": "połączenie wychodzące",
- "app_calllog_missed_call": "połączenie nieodebrane",
- "app_calllog_date": "Data",
- "app_calllog_options_title": "Opcje",
- "app_calllog_options_contact_details": "Szczegóły kontaktu",
- "app_calllog_options_delete_call": "Usuń połączenie",
- "app_calllog_delete_call_confirmation": "Czy naprawdę chcesz usunąć to połączenie z listy?",
-
- "app_desktop_unlock": "ODBLOKUJ",
- "app_desktop_lock": "ZABLOKUJ",
- "app_desktop_menu": "MENU",
- "app_desktop_emergency": "ALARMOWE",
- "app_desktop_pin_lock": "Wprowadź hasło",
- "app_desktop_pin_info1": "Błędne hasło",
- "app_desktop_pin_info2": "Pozostało prób",
- "app_desktop_pin_blocked1": "Telefon zablokowany",
- "app_desktop_unread_messages": "nieprzeczytane wiadomości",
- "app_desktop_missed_calls": "nieodebrane połączenia",
-
- "app_desktop_menu_phone": "TELEFON",
- "app_desktop_menu_contacts": "KONTAKTY",
- "app_desktop_menu_messages": "WIADOMOŚCI",
- "app_desktop_menu_calendar": "KALENDARZ",
- "app_desktop_menu_alarm": "ALARMY",
- "app_desktop_menu_meditation": "MEDYTACJA",
- "app_desktop_menu_music": "MUZYKA",
- "app_desktop_menu_tools": "NARZĘDZIA",
- "app_desktop_menu_settings": "USTAWIENIA",
- "app_desktop_menu_phonebook": "KONTAKTY",
- "app_desktop_menu_title": "Główne Menu",
- "app_desktop_tools_title": "Narzędzia",
- "app_desktop_tools_notes": "NOTATKI",
- "app_desktop_tools_calculator": "KALKULATOR",
- "app_desktop_tools_recorder": "DYKTAFON",
- "app_desktop_tools_antenna": "ANTENNA TEST",
- "app_desktop_poweroff_title": "Wyłączanie",
- "app_desktop_poweroff_question": "Wybierz Tak by wyłączyć",
-
- "app_call_call": "DZWOŃ",
- "app_call_clear": "WYCZYŚĆ",
- "app_call_reject": "ODRZUĆ",
- "app_call_answer": "ODBIERZ",
- "app_call_message": "WIADOMOŚĆ",
- "app_call_return": "POWRÓT",
- "app_call_end_call": "ZAKOŃCZ",
- "app_call_emergency": "Numer alarmowy",
- "app_call_is_calling": "dzwoni",
- "app_call_call_ended": "zakończono",
- "app_call_contact": "KONTAKT",
-
- "app_settings_title_main": "Ustawienia",
- "app_settings_bt" : "Bluetooth",
- "app_settings_date_and_time": "Data i Czas",
- "app_settings_title_day": "Dzień",
- "app_settings_title_month": "Miesiąc",
- "app_settings_title_year": "Rok",
- "app_settings_title_time": "Czas",
- "app_settings_cellular_passthrough": "Modem <-> USB",
- "app_settings_display": "Ekran",
- "app_settings_phone_modes": "Tryby Pracy",
- "app_settings_security": "Bezpieczeństwo",
- "app_settings_language": "Język",
- "app_settings_about": "O Mudita Pure",
- "app_settings_title_languages": "Wybór Języka",
- "app_settings_language_english": "Angielski",
- "app_settings_language_polish": "Polski",
- "app_settings_language_german": "Niemiecki",
- "app_settings_language_spanish": "Hiszpański",
-
- "app_messages_title_main": "Wiadomości",
- "app_messages_new_message": "Nowa Wiadomość",
-
- "app_phonebook_title_main": "Kontakty",
- "app_phonebook_search_win_contacts": "Kontakty",
- "common_search_uc": "Szukaj",
- "app_phonebook_search_win_info": "wpisz czego szukasz i naciśnij SZUKAJ",
- "common_search_results": "Rezultaty",
- "app_phonebook_list_favourites": "Ulubione",
- "app_phonebook_contact_title": "Dodaj Kontakt",
- "app_phonebook_contact_no_name": "brak nazwy",
- "app_phonebook_contact_note": "Notatka",
- "app_phonebook_contact_address": "Adres",
- "app_phonebook_contact_information": "Informacje",
- "app_phonebook_contact_favourites_upper": "ULUBIONE",
- "app_phonebook_contact_speed_dial_upper": "SZYBKIE WYBIERANIE",
- "app_phonebook_contact_speed_blocked_uppper": "ZABLOKOWANY",
- "app_phonebook_duplicate_numbers": "Ten numer należy do\n$CONTACT_NAME$. Czy chcesz\nutworzyć nowy kontakt?",
- "app_phonebook_duplicate_speed_dial":"Ten numer jest już przypisany\ndo $CONTACT_NAME$. Czy chcesz\ngo zastąpić?",
- "app_phonebook_options_title": "Opcje",
- "app_phonebook_options_edit": "Edycja Kontaktu",
- "app_phonebook_options_block": "Blokuj",
- "app_phonebook_options_block_confirm": "Czy na pewno chcesz\nzablokować ten kontakt?",
- "app_phonebook_options_delete": "Usuń",
- "app_phonebook_options_delete_confirm": "Czy na pewno chcesz\nusunąć ten kontakt?",
- "app_phonebook_options_send_bt": "Wyślij przez Bluetooth",
- "app_phonebook_options_forward_namecard": "Przekaż wizytówkę",
- "app_phonebook_options_send_sms": "Wyślij przez SMS",
- "app_phonebook_new_contact_first_name": "Imię",
- "app_phonebook_new_contact_second_name": "Nazwisko",
- "app_phonebook_new_contact_number": "Numer",
- "app_phonebook_new_contact_second_number": "Drugi numer",
- "app_phonebook_new_contact_email": "Email",
- "app_phonebook_new_contact_address": "Adres",
- "app_phonebook_new_contact_note": "Notatka",
- "app_phonebook_new_speed_dial_key": "Szybkie wybieranie",
- "app_phonebook_new_add_to_fav": "Dodaj do ulubionych",
- "app_phonebook_new_add_to_ice": "Dodaj do ICE",
- "app_phonebook_check": "ZAZNACZ",
- "app_phonebook_uncheck": "ODZNACZ",
-
- "app_meditation_title_main": "Medytacja",
-
- "sms_call_text" : "Call: ",
- "sms_contact_details" : "Contact details",
- "sms_delete_conversation" : "Delete conversation",
-
- "settings_lang_PL": "PL",
- "settings_lang_ENG": "ENG",
- "settings_lang_DE": "DE",
- "settings_lang_SP": "SP",
- "desktop_powerdown_info1": "Teraz jest...",
- "desktop_powerdown_info2": "Wyłączone!!!"
-
+ "common_kbd_lower": "lang_pl_lower",
+ "common_kbd_upper": "lang_pl_upper",
+ "common_kbd_numeric": "numeric",
+ "common_add": "DODAJ",
+ "common_open": "OTWÓRZ",
+ "common_call": "DZWOŃ",
+ "common_save": "ZAPISZ",
+ "common_send": "WYŚLIJ",
+ "common_confirm": "POTWIERDŹ",
+ "common_select": "WYBIERZ",
+ "common_ok": "DALEJ",
+ "common_back": "WRÓĆ",
+ "common_set": "USTAW",
+ "common_yes": "Tak",
+ "common_no": "Nie",
+ "common_speaker": "GŁOŚNIK",
+ "common_mute": "WYCISZ",
+ "common_switch": "ZMIEŃ",
+ "common_options": "OPCJE",
+ "common_monday": "poniedziałek",
+ "common_tuesday": "wtorek",
+ "common_wednesday": "środa",
+ "common_thursday": "czwartek",
+ "common_friday": "piątek",
+ "common_saturday": "sobota",
+ "common_sunday": "niedziela",
+ "common_information": "Informacje",
+ "common_january": "stycznia",
+ "common_february": "lutego",
+ "common_march": "marca",
+ "common_april": "kwietnia",
+ "common_may": "maja",
+ "common_june": "czerwca",
+ "common_july": "lipca",
+ "common_august": "sierpnia",
+ "common_september": "września",
+ "common_october": "października",
+ "common_november": "listopada",
+ "common_december": "grudnia",
+ "common_yesterday": "wczoraj",
+ "common_today": "dzisiaj",
+ "locale_12hour_min": "%I:%M",
+ "locale_24hour_min": "%H:%M",
+ "locale_date_full": "%d.%m.%y",
+ "locale_date_short": "%d.%m",
+ "app_calculator_decimal_separator": ",",
+ "app_notes_title_main": "Notatki",
+ "app_notes_new_note": "Nowa Notatka",
+ "app_notes_save": "ZAPISZ",
+ "app_notes_edit": "EDYTUJ",
+ "app_notes_back": "WROĆ",
+ "app_calllog_title_main": "Rejestr Połączeń",
+ "app_calllog_save": "ZAPISZ",
+ "app_calllog_edit": "EDYTUJ",
+ "app_calllog_back": "WRÓĆ",
+ "app_calllog_type": "Typ",
+ "app_calllog_duration": "Czas trwania",
+ "app_calllog_incoming_call": "połączenie przychodzące",
+ "app_calllog_outgoing_call": "połączenie wychodzące",
+ "app_calllog_missed_call": "połączenie nieodebrane",
+ "app_calllog_date": "Data",
+ "app_calllog_options_title": "Opcje",
+ "app_calllog_options_contact_details": "Szczegóły kontaktu",
+ "app_calllog_options_delete_call": "Usuń połączenie",
+ "app_calllog_delete_call_confirmation": "Czy naprawdę chcesz usunąć to połączenie z listy?",
+ "app_desktop_unlock": "ODBLOKUJ",
+ "app_desktop_lock": "ZABLOKUJ",
+ "app_desktop_menu": "MENU",
+ "app_desktop_emergency": "ALARMOWE",
+ "app_desktop_pin_lock": "Wprowadź hasło",
+ "app_desktop_pin_info1": "Błędne hasło",
+ "app_desktop_pin_info2": "Pozostało prób",
+ "app_desktop_pin_blocked1": "Telefon zablokowany",
+ "app_desktop_unread_messages": "nieprzeczytane wiadomości",
+ "app_desktop_missed_calls": "nieodebrane połączenia",
+ "app_desktop_menu_phone": "TELEFON",
+ "app_desktop_menu_contacts": "KONTAKTY",
+ "app_desktop_menu_messages": "WIADOMOŚCI",
+ "app_desktop_menu_calendar": "KALENDARZ",
+ "app_desktop_menu_alarm": "ALARMY",
+ "app_desktop_menu_meditation": "MEDYTACJA",
+ "app_desktop_menu_music": "MUZYKA",
+ "app_desktop_menu_tools": "NARZĘDZIA",
+ "app_desktop_menu_settings": "USTAWIENIA",
+ "app_desktop_menu_phonebook": "KONTAKTY",
+ "app_desktop_menu_title": "Główne Menu",
+ "app_desktop_tools_title": "Narzędzia",
+ "app_desktop_tools_notes": "NOTATKI",
+ "app_desktop_tools_calculator": "KALKULATOR",
+ "app_desktop_tools_recorder": "DYKTAFON",
+ "app_desktop_tools_antenna": "ANTENNA TEST",
+ "app_desktop_poweroff_title": "Wyłączanie",
+ "app_desktop_poweroff_question": "Wybierz Tak by wyłączyć",
+ "app_call_call": "DZWOŃ",
+ "app_call_clear": "WYCZYŚĆ",
+ "app_call_reject": "ODRZUĆ",
+ "app_call_answer": "ODBIERZ",
+ "app_call_message": "WIADOMOŚĆ",
+ "app_call_return": "POWRÓT",
+ "app_call_end_call": "ZAKOŃCZ",
+ "app_call_emergency": "Numer alarmowy",
+ "app_call_is_calling": "dzwoni",
+ "app_call_call_ended": "zakończono",
+ "app_call_contact": "KONTAKT",
+ "app_settings_title_main": "Ustawienia",
+ "app_settings_bt": "Bluetooth",
+ "app_settings_date_and_time": "Data i Czas",
+ "app_settings_title_day": "Dzień",
+ "app_settings_title_month": "Miesiąc",
+ "app_settings_title_year": "Rok",
+ "app_settings_title_time": "Czas",
+ "app_settings_cellular_passthrough": "Modem <-> USB",
+ "app_settings_display": "Ekran",
+ "app_settings_phone_modes": "Tryby Pracy",
+ "app_settings_security": "Bezpieczeństwo",
+ "app_settings_language": "Język",
+ "app_settings_about": "O Mudita Pure",
+ "app_settings_title_languages": "Wybór Języka",
+ "app_settings_language_english": "Angielski",
+ "app_settings_language_polish": "Polski",
+ "app_settings_language_german": "Niemiecki",
+ "app_settings_language_spanish": "Hiszpański",
+ "app_messages_title_main": "Wiadomości",
+ "app_messages_new_message": "Nowa Wiadomość",
+ "app_phonebook_title_main": "Kontakty",
+ "app_phonebook_search_win_contacts": "Kontakty",
+ "common_search_uc": "Szukaj",
+ "app_phonebook_search_win_info": "wpisz czego szukasz i naciśnij SZUKAJ",
+ "common_search_results": "Rezultaty",
+ "app_phonebook_list_favourites": "Ulubione",
+ "app_phonebook_contact_title": "Dodaj Kontakt",
+ "app_phonebook_contact_no_name": "brak nazwy",
+ "app_phonebook_contact_note": "Notatka",
+ "app_phonebook_contact_address": "Adres",
+ "app_phonebook_contact_information": "Informacje",
+ "app_phonebook_contact_favourites_upper": "ULUBIONE",
+ "app_phonebook_contact_speed_dial_upper": "SZYBKIE WYBIERANIE",
+ "app_phonebook_contact_speed_blocked_uppper": "ZABLOKOWANY",
+ "app_phonebook_duplicate_numbers": "Ten numer należy do\n$CONTACT_NAME$. Czy chcesz\nutworzyć nowy kontakt?",
+ "app_phonebook_duplicate_speed_dial": "Ten numer jest już przypisany\ndo $CONTACT_NAME$. Czy chcesz\ngo zastąpić?",
+ "app_phonebook_options_title": "Opcje",
+ "app_phonebook_options_edit": "Edycja Kontaktu",
+ "app_phonebook_options_block": "Blokuj",
+ "app_phonebook_options_block_confirm": "Czy na pewno chcesz\nzablokować ten kontakt?",
+ "app_phonebook_options_delete": "Usuń",
+ "app_phonebook_options_delete_confirm": "Czy na pewno chcesz\nusunąć ten kontakt?",
+ "app_phonebook_options_send_bt": "Wyślij przez Bluetooth",
+ "app_phonebook_options_forward_namecard": "Przekaż wizytówkę",
+ "app_phonebook_options_send_sms": "Wyślij przez SMS",
+ "app_phonebook_new_contact_first_name": "Imię",
+ "app_phonebook_new_contact_second_name": "Nazwisko",
+ "app_phonebook_new_contact_number": "Numer",
+ "app_phonebook_new_contact_second_number": "Drugi numer",
+ "app_phonebook_new_contact_email": "Email",
+ "app_phonebook_new_contact_address": "Adres",
+ "app_phonebook_new_contact_note": "Notatka",
+ "app_phonebook_new_speed_dial_key": "Szybkie wybieranie",
+ "app_phonebook_new_add_to_fav": "Dodaj do ulubionych",
+ "app_phonebook_new_add_to_ice": "Dodaj do ICE",
+ "app_phonebook_check": "ZAZNACZ",
+ "app_phonebook_uncheck": "ODZNACZ",
+ "app_meditation_title_main": "Medytacja",
+ "sms_call_text": "Call: ",
+ "sms_contact_details": "Contact details",
+ "sms_delete_conversation": "Delete conversation",
+ "settings_lang_PL": "PL",
+ "settings_lang_ENG": "ENG",
+ "settings_lang_DE": "DE",
+ "settings_lang_SP": "SP",
+ "desktop_powerdown_info1": "Teraz jest...",
+ "desktop_powerdown_info2": "Wyłączone!!!"
}
M image/user/settings.db => image/user/settings.db +0 -0
M module-apps/application-calculator/tests/CalculatorUtility_tests.cpp => module-apps/application-calculator/tests/CalculatorUtility_tests.cpp +2 -2
@@ 20,7 20,7 @@ struct vfs_initializer
TEST_CASE("Calculator utilities")
{
auto calculator = Calculator();
- utils::localize.SetDisplayLanguage(utils::Lang::En);
+ utils::localize.setDisplayLanguage("English");
SECTION("Addition")
{
@@ 72,7 72,7 @@ TEST_CASE("Calculator utilities")
SECTION("Fraction with comma")
{
- utils::localize.SetDisplayLanguage(utils::Lang::Pl);
+ utils::localize.setDisplayLanguage("Polski");
auto result = calculator.calculate("15,5+12,056");
REQUIRE(result.value == "27,556");
REQUIRE(result.equation == "15.5+12.056");
M module-apps/application-settings-new/windows/InputLanguageWindow.cpp => module-apps/application-settings-new/windows/InputLanguageWindow.cpp +6 -12
@@ 20,19 20,13 @@ namespace gui
auto InputLanguageWindow::buildOptionsList() -> std::list<gui::Option>
{
std::list<gui::Option> optionsList;
- std::vector<std::string> languageListJson = {"app_settings_language_english",
- "app_settings_language_polish",
- "app_settings_language_german",
- "app_settings_language_spanish"};
- std::vector<utils::Lang> languageListEnum = {
- utils::Lang::En, utils::Lang::Pl, utils::Lang::De, utils::Lang::Sp};
-
- for (size_t i = 0; i < languageListJson.size(); i++) {
+ const auto &langList = loader.getAvailableDisplayLanguages();
+ for (const auto &lang : langList) {
optionsList.emplace_back(std::make_unique<gui::OptionSettings>(
- utils::localize.get(languageListJson[i]),
+ lang,
[=](gui::Item &item) {
- selectedLang = utils::localize.get(languageListJson[i]);
- app::manager::Controller::changeInputLanguage(application, languageListEnum[i]);
+ selectedLang = lang;
+ app::manager::Controller::changeInputLanguage(application, lang);
rebuildOptionList();
return true;
},
@@ 44,7 38,7 @@ namespace gui
return true;
},
this,
- selectedLang == utils::localize.get(languageListJson[i]) ? RightItem::Checked : RightItem::Disabled));
+ selectedLang == lang ? RightItem::Checked : RightItem::Disabled));
}
return optionsList;
M module-apps/application-settings-new/windows/InputLanguageWindow.hpp => module-apps/application-settings-new/windows/InputLanguageWindow.hpp +2 -1
@@ 17,6 17,7 @@ namespace gui
auto buildOptionsList() -> std::list<gui::Option> override;
private:
- std::string selectedLang;
+ Language selectedLang;
+ utils::LangLoader loader;
};
} // namespace gui
M module-apps/application-settings/windows/LanguageWindow.cpp => module-apps/application-settings/windows/LanguageWindow.cpp +7 -24
@@ 49,30 49,13 @@ namespace gui
topBar->setActive(TopBar::Elements::BATTERY, true);
setTitle(utils::localize.get("app_settings_title_languages"));
-
- options.push_back(addOptionLabel(utils::localize.get("app_settings_language_english"), [=](gui::Item &item) {
- LOG_INFO("selected display language: english");
- app::manager::Controller::changeDisplayLanguage(application, utils::Lang::En);
- return true;
- }));
-
- options.push_back(addOptionLabel(utils::localize.get("app_settings_language_polish"), [=](gui::Item &) {
- LOG_INFO("selected display language: polish");
- app::manager::Controller::changeDisplayLanguage(application, utils::Lang::Pl);
- return true;
- }));
-
- options.push_back(addOptionLabel(utils::localize.get("app_settings_language_german"), [=](gui::Item &) {
- LOG_INFO("selected display language: german");
- app::manager::Controller::changeDisplayLanguage(application, utils::Lang::De);
- return true;
- }));
-
- options.push_back(addOptionLabel(utils::localize.get("app_settings_language_spanish"), [=](gui::Item &) {
- LOG_INFO("selected display language: spanish");
- app::manager::Controller::changeDisplayLanguage(application, utils::Lang::Sp);
- return true;
- }));
+ const auto &langList = loader.getAvailableDisplayLanguages();
+ for (const auto &lang : langList) {
+ options.push_back(addOptionLabel(lang, [=](gui::Item &item) {
+ app::manager::Controller::changeDisplayLanguage(application, lang);
+ return true;
+ }));
+ }
// set position and navigation for labels
uint32_t size = options.size();
M module-apps/application-settings/windows/LanguageWindow.hpp => module-apps/application-settings/windows/LanguageWindow.hpp +1 -0
@@ 33,6 33,7 @@ namespace gui
void destroyInterface() override;
private:
+ utils::LangLoader loader;
void invalidate() noexcept;
};
} /* namespace gui */
M module-db/Common/Common.hpp => module-db/Common/Common.hpp +0 -8
@@ 50,14 50,6 @@ enum class SettingsLanguage
SPANISH = 0x08,
};
-namespace Language
-{
- constexpr static bool ValidateLanguage(SettingsLanguage lang) noexcept
- {
- return lang >= SettingsLanguage::ENGLISH && lang <= SettingsLanguage::SPANISH;
- }
-}; // namespace Language
-
enum class SettingsPinMode
{
ALWAYS = 0,
M module-db/Interface/SettingsRecord.hpp => module-db/Interface/SettingsRecord.hpp +3 -2
@@ 7,6 7,7 @@
#include "utf8/UTF8.hpp"
#include "../Common/Common.hpp"
#include "../Databases/SettingsDB.hpp"
+#include "i18/i18.hpp"
struct SettingsRecord
{
@@ 31,8 32,8 @@ struct SettingsRecord
std::string networkOperator;
uint32_t lockPassHash;
uint32_t lockTime;
- SettingsLanguage displayLanguage;
- SettingsLanguage inputLanguage;
+ Language displayLanguage;
+ Language inputLanguage;
static ActiveSim to(const uint32_t sim);
static uint32_t from(const ActiveSim sim);
M module-db/Tables/SettingsTable.cpp => module-db/Tables/SettingsTable.cpp +22 -45
@@ 31,48 31,25 @@ SettingsTableRow SettingsTable::getById(uint32_t id)
return SettingsTableRow();
}
- if (!Language::ValidateLanguage(static_cast<SettingsLanguage>((*retQuery)[16].getUInt32())) ||
- !Language::ValidateLanguage(static_cast<SettingsLanguage>((*retQuery)[17].getUInt32()))) {
- return SettingsTableRow{
- 1,
- false,
- true,
- true,
- true,
- 0,
- 0,
- SettingsPinMode::DAYS,
- 0,
- 0,
- "",
- "",
- 1,
- "",
- 0,
- 30000, // time of inactivity of the user after which phone will be automatically blocked.
- SettingsLanguage::ENGLISH,
- SettingsLanguage::ENGLISH};
- }
-
return SettingsTableRow{
- (*retQuery)[0].getUInt32(), // ID
- (*retQuery)[1].getBool(), // timeFormat12
- (*retQuery)[2].getBool(), // timeAuto
- (*retQuery)[3].getBool(), // timeDateFormat
- (*retQuery)[4].getBool(), // brightnessAuto
- (*retQuery)[5].getUInt32(), // brightnessLevel
- (*retQuery)[6].getUInt32(), // fontSize
- static_cast<SettingsPinMode>((*retQuery)[7].getUInt32()), // pinMode
- (*retQuery)[8].getUInt32(), // pinDays
- (*retQuery)[9].getUInt32(), // pinDaysLeft
- (*retQuery)[10].getString(), // pin1
- (*retQuery)[11].getString(), // pin2
- (*retQuery)[12].getUInt32(), // activeSIM
- (*retQuery)[13].getString(), // networkOperator
- (*retQuery)[14].getUInt32(), // lockPassHash
- (*retQuery)[15].getUInt32(), // lockTime
- static_cast<SettingsLanguage>((*retQuery)[16].getUInt32()), // displayLanguage
- static_cast<SettingsLanguage>((*retQuery)[17].getUInt32()), // inputLanguage
+ (*retQuery)[0].getUInt32(), // ID
+ (*retQuery)[1].getBool(), // timeFormat12
+ (*retQuery)[2].getBool(), // timeAuto
+ (*retQuery)[3].getBool(), // timeDateFormat
+ (*retQuery)[4].getBool(), // brightnessAuto
+ (*retQuery)[5].getUInt32(), // brightnessLevel
+ (*retQuery)[6].getUInt32(), // fontSize
+ static_cast<SettingsPinMode>((*retQuery)[7].getUInt32()), // pinMode
+ (*retQuery)[8].getUInt32(), // pinDays
+ (*retQuery)[9].getUInt32(), // pinDaysLeft
+ (*retQuery)[10].getString(), // pin1
+ (*retQuery)[11].getString(), // pin2
+ (*retQuery)[12].getUInt32(), // activeSIM
+ (*retQuery)[13].getString(), // networkOperator
+ (*retQuery)[14].getUInt32(), // lockPassHash
+ (*retQuery)[15].getUInt32(), // lockTime
+ (*retQuery)[16].getString(), // displayLanguage
+ (*retQuery)[17].getString(), // inputLanguage
};
}
@@ 83,8 60,8 @@ bool SettingsTable::update(SettingsTableRow entry)
",brightness_auto = %lu, brightness_level = %lu, "
"bigger_font = %lu, pin_mode =%lu, pin_days = %lu ,pin_days_left = %lu, pin1_string = '%q', "
"pin2_string = '%q', active_sim = %lu, "
- "network_operator = '%q', lock_pass_hash = %lu, lock_time = %lu, display_language = %lu, "
- "input_language = %lu WHERE _id=1;",
+ "network_operator = '%q', lock_pass_hash = %lu, lock_time = %lu, display_language = '%q', "
+ "input_language = '%q' WHERE _id=1;",
entry.timeFormat12,
entry.timeAuto,
entry.timeDateFormat,
@@ 100,8 77,8 @@ bool SettingsTable::update(SettingsTableRow entry)
entry.networkOperator.c_str(),
entry.lockPassHash,
entry.lockTime,
- entry.displayLanguage,
- entry.inputLanguage);
+ entry.displayLanguage.c_str(),
+ entry.inputLanguage.c_str());
}
bool SettingsTable::add(SettingsTableRow entry)
M module-db/Tables/SettingsTable.hpp => module-db/Tables/SettingsTable.hpp +6 -5
@@ 7,6 7,7 @@
#include "Database/Database.hpp"
#include "utf8/UTF8.hpp"
#include "Common/Common.hpp"
+#include "i18/i18.hpp"
struct SettingsTableRow
{
@@ 27,8 28,8 @@ struct SettingsTableRow
uint32_t lockPassHash;
// time of inactivity of the user after which phone will be automatically blocked.
uint32_t lockTime;
- SettingsLanguage displayLanguage;
- SettingsLanguage inputLanguage;
+ Language displayLanguage;
+ Language inputLanguage;
};
enum class SettingsTableFields
@@ 74,8 75,8 @@ class SettingsTable : public Table<SettingsTableRow, SettingsTableFields>
"network_operator TEXT DEFAULT '', "
"lock_pass_hash INTEGER DEFAULT 0, "
"lock_time INTEGER DEFAULT 30000, "
- "display_language INTEGER DEFAULT 1, "
- "input_language INTEGER DEFAULT 1 "
+ "display_language TEXT DEFAULT 'English', "
+ "input_language TEXT DEFAULT 'English' "
");";
const char *settingsInitialization = "INSERT OR IGNORE INTO settings (_id, time_format_12, time_auto, "
@@ 83,5 84,5 @@ class SettingsTable : public Table<SettingsTableRow, SettingsTableFields>
"bigger_font, pin_mode, pin_days, pin_days_left, pin1_string,pin2_string, "
"active_sim,network_operator,lock_pass_hash,lock_time, display_language, "
"input_language) "
- "VALUES(1,0,1,1,1,0,0,1,0,0,'','',1,'',0,30000,1,1)";
+ "VALUES(1,0,1,1,1,0,0,1,0,0,'','',1,'',0,30000,'English','English')";
};
M module-db/tests/SettingsRecord_tests.cpp => module-db/tests/SettingsRecord_tests.cpp +2 -2
@@ 42,8 42,8 @@ TEST_CASE("Settings Record tests")
REQUIRE(settingsRecord.activeSIM == SettingsRecord::ActiveSim::SIM1);
REQUIRE(settingsRecord.networkOperator == "");
REQUIRE(settingsRecord.lockPassHash == 0);
- REQUIRE(settingsRecord.displayLanguage == SettingsLanguage ::ENGLISH);
- REQUIRE(settingsRecord.inputLanguage == SettingsLanguage ::ENGLISH);
+ REQUIRE(settingsRecord.displayLanguage == "English");
+ REQUIRE(settingsRecord.inputLanguage == "English");
settingsRecord.networkOperator = "MuditaConnectingPeople";
settingsRecord.fontSize = 10;
M module-db/tests/SettingsTable_tests.cpp => module-db/tests/SettingsTable_tests.cpp +9 -9
@@ 30,12 30,12 @@ TEST_CASE("Settings Table tests")
auto settingsRow = settingsDb.settings.getById(1);
REQUIRE(settingsRow.ID == 1);
- settingsRow.timeFormat12 = false;
- settingsRow.timeDateFormat = false;
- settingsRow.pin1 = "4321";
+ settingsRow.timeFormat12 = false;
+ settingsRow.timeDateFormat = false;
+ settingsRow.pin1 = "4321";
settingsRow.pin2 = "5432";
- settingsRow.displayLanguage = SettingsLanguage ::POLISH;
- settingsRow.inputLanguage = SettingsLanguage ::POLISH;
+ settingsRow.displayLanguage = "Polski";
+ settingsRow.inputLanguage = "Polski";
REQUIRE(settingsDb.settings.update(settingsRow));
settingsRow = settingsDb.settings.getById(1);
@@ 44,8 44,8 @@ TEST_CASE("Settings Table tests")
REQUIRE(settingsRow.timeDateFormat == false);
REQUIRE(settingsRow.pin1 == "4321");
REQUIRE(settingsRow.pin2 == "5432");
- REQUIRE(settingsRow.displayLanguage == SettingsLanguage ::POLISH);
- REQUIRE(settingsRow.inputLanguage == SettingsLanguage ::POLISH);
+ REQUIRE(settingsRow.displayLanguage == "Polski");
+ REQUIRE(settingsRow.inputLanguage == "Polski");
}
{
@@ 57,8 57,8 @@ TEST_CASE("Settings Table tests")
REQUIRE(settingsRow.timeDateFormat == false);
REQUIRE(settingsRow.pin1 == "4321");
REQUIRE(settingsRow.pin2 == "5432");
- REQUIRE(settingsRow.displayLanguage == SettingsLanguage ::POLISH);
- REQUIRE(settingsRow.inputLanguage == SettingsLanguage ::POLISH);
+ REQUIRE(settingsRow.displayLanguage == "Polski");
+ REQUIRE(settingsRow.inputLanguage == "Polski");
}
Database::deinitialize();
M module-gui/test/test-catch-text/test-gui-Text.cpp => module-gui/test/test-catch-text/test-gui-Text.cpp +1 -1
@@ 144,7 144,7 @@ TEST_CASE("Text buildDrawList")
TEST_CASE("handle input mode ABC/abc/1234")
{
- utils::localize.SetDisplayLanguage(utils::Lang::En); /// needed to load input mode
+ utils::localize.setInputLanguage("English"); /// needed to load input mode
auto &fontmanager = mockup::fontManager();
auto font = fontmanager.getFont(0);
auto text = gui::TestText();
M module-services/service-appmgr/Controller.cpp => module-services/service-appmgr/Controller.cpp +2 -2
@@ 66,13 66,13 @@ namespace app::manager
return sys::Bus::SendUnicast(msg, ApplicationManager::ServiceName, sender);
}
- auto Controller::changeDisplayLanguage(sys::Service *sender, utils::Lang language) -> bool
+ auto Controller::changeDisplayLanguage(sys::Service *sender, const Language &language) -> bool
{
auto msg = std::make_shared<app::manager::DisplayLanguageChangeRequest>(sender->GetName(), language);
return sys::Bus::SendUnicast(msg, ApplicationManager::ServiceName, sender);
}
- auto Controller::changeInputLanguage(sys::Service *sender, utils::Lang language) -> bool
+ auto Controller::changeInputLanguage(sys::Service *sender, const Language &language) -> bool
{
auto msg = std::make_shared<app::manager::InputLanguageChangeRequest>(sender->GetName(), language);
return sys::Bus::SendUnicast(msg, ApplicationManager::ServiceName, sender);
M module-services/service-appmgr/messages/LanguageChangeRequest.cpp => module-services/service-appmgr/messages/LanguageChangeRequest.cpp +8 -7
@@ 2,23 2,24 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <service-appmgr/messages/LanguageChangeRequest.hpp>
+#include <utility>
namespace app::manager
{
- LanguageChangeRequest::LanguageChangeRequest(const ApplicationName &senderName, utils::Lang language)
- : BaseMessage(MessageType::APMChangeLanguage, senderName), language{language}
+ LanguageChangeRequest::LanguageChangeRequest(const ApplicationName &senderName, Language &&language)
+ : BaseMessage(MessageType::APMChangeLanguage, senderName), language{std::move(language)}
{}
- [[nodiscard]] auto LanguageChangeRequest::getLanguage() const noexcept -> utils::Lang
+ [[nodiscard]] auto LanguageChangeRequest::getLanguage() const -> Language
{
return language;
}
- DisplayLanguageChangeRequest::DisplayLanguageChangeRequest(const ApplicationName &senderName, utils::Lang language)
- : LanguageChangeRequest(senderName, language)
+ DisplayLanguageChangeRequest::DisplayLanguageChangeRequest(const ApplicationName &senderName, Language language)
+ : LanguageChangeRequest(senderName, std::move(language))
{}
- InputLanguageChangeRequest::InputLanguageChangeRequest(const ApplicationName &senderName, utils::Lang language)
- : LanguageChangeRequest(senderName, language)
+ InputLanguageChangeRequest::InputLanguageChangeRequest(const ApplicationName &senderName, Language language)
+ : LanguageChangeRequest(senderName, std::move(language))
{}
} // namespace app::manager
M module-services/service-appmgr/model/ApplicationManager.cpp => module-services/service-appmgr/model/ApplicationManager.cpp +6 -35
@@ 35,36 35,6 @@ namespace app::manager
namespace
{
constexpr auto default_application_locktime_ms = 30000;
-
- utils::Lang toUtilsLanguage(SettingsLanguage language)
- {
- switch (language) {
- case SettingsLanguage::ENGLISH:
- return utils::Lang::En;
- case SettingsLanguage::POLISH:
- return utils::Lang::Pl;
- case SettingsLanguage::GERMAN:
- return utils::Lang::De;
- case SettingsLanguage::SPANISH:
- return utils::Lang::Sp;
- }
- return utils::Lang::En;
- }
-
- SettingsLanguage toSettingsLanguage(utils::Lang language)
- {
- switch (language) {
- case utils::Lang::En:
- return SettingsLanguage::ENGLISH;
- case utils::Lang::Pl:
- return SettingsLanguage::POLISH;
- case utils::Lang::De:
- return SettingsLanguage::GERMAN;
- case utils::Lang::Sp:
- return SettingsLanguage::SPANISH;
- }
- return SettingsLanguage::ENGLISH;
- }
} // namespace
ApplicationManagerBase::ApplicationManagerBase(std::vector<std::unique_ptr<app::ApplicationLauncher>> &&launchers)
@@ 141,8 111,9 @@ namespace app::manager
{
settings = DBServiceAPI::SettingsGet(this);
blockingTimer->setInterval(settings.lockTime != 0 ? settings.lockTime : default_application_locktime_ms);
- utils::localize.SetDisplayLanguage(toUtilsLanguage(settings.displayLanguage));
- utils::localize.setInputLanguage(toUtilsLanguage(settings.inputLanguage));
+ utils::localize.setFallbackLanguage(utils::localize.DefaultLanguage);
+ utils::localize.setDisplayLanguage(settings.displayLanguage);
+ utils::localize.setInputLanguage(settings.inputLanguage);
startSystemServices();
startBackgroundApplications();
@@ 557,7 528,7 @@ namespace app::manager
auto ApplicationManager::handleDisplayLanguageChange(app::manager::DisplayLanguageChangeRequest *msg) -> bool
{
- const auto requestedLanguage = toSettingsLanguage(msg->getLanguage());
+ const auto requestedLanguage = msg->getLanguage();
settings = DBServiceAPI::SettingsGet(this);
if (requestedLanguage == settings.displayLanguage) {
@@ 565,7 536,7 @@ namespace app::manager
return true;
}
settings.displayLanguage = requestedLanguage;
- utils::localize.SetDisplayLanguage(msg->getLanguage());
+ utils::localize.setDisplayLanguage(requestedLanguage);
rebuildActiveApplications();
DBServiceAPI::SettingsUpdate(this, settings);
return true;
@@ 573,7 544,7 @@ namespace app::manager
auto ApplicationManager::handleInputLanguageChange(app::manager::InputLanguageChangeRequest *msg) -> bool
{
- const auto requestedLanguage = toSettingsLanguage(msg->getLanguage());
+ const auto requestedLanguage = msg->getLanguage();
settings = DBServiceAPI::SettingsGet(this);
if (requestedLanguage == settings.inputLanguage) {
M module-services/service-appmgr/service-appmgr/Controller.hpp => module-services/service-appmgr/service-appmgr/Controller.hpp +2 -3
@@ 44,9 44,8 @@ namespace app::manager
static auto confirmSwitch(sys::Service *sender) -> bool;
static auto closeApplication(sys::Service *sender, const ApplicationName &name) -> bool;
static auto confirmClose(sys::Service *sender) -> bool;
-
- static auto changeDisplayLanguage(sys::Service *sender, utils::Lang language) -> bool;
- static auto changeInputLanguage(sys::Service *sender, utils::Lang language) -> bool;
+ static auto changeDisplayLanguage(sys::Service *sender, const Language &language) -> bool;
+ static auto changeInputLanguage(sys::Service *sender, const Language &language) -> bool;
static auto changePowerSaveMode(sys::Service *sender) -> bool;
static auto preventBlockingDevice(sys::Service *sender) -> bool;
};
M module-services/service-appmgr/service-appmgr/messages/LanguageChangeRequest.hpp => module-services/service-appmgr/service-appmgr/messages/LanguageChangeRequest.hpp +5 -5
@@ 12,26 12,26 @@ namespace app::manager
class LanguageChangeRequest : public BaseMessage
{
public:
- [[nodiscard]] auto getLanguage() const noexcept -> utils::Lang;
+ [[nodiscard]] auto getLanguage() const -> Language;
protected:
- LanguageChangeRequest(const ApplicationName &senderName, utils::Lang language);
+ LanguageChangeRequest(const ApplicationName &senderName, Language &&language);
private:
- utils::Lang language;
+ Language language;
};
/// Requests to change the display language.
class DisplayLanguageChangeRequest : public LanguageChangeRequest
{
public:
- DisplayLanguageChangeRequest(const ApplicationName &senderName, utils::Lang language);
+ DisplayLanguageChangeRequest(const ApplicationName &senderName, Language language);
};
/// Requests to change the input language.
class InputLanguageChangeRequest : public LanguageChangeRequest
{
public:
- InputLanguageChangeRequest(const ApplicationName &senderName, utils::Lang language);
+ InputLanguageChangeRequest(const ApplicationName &senderName, Language language);
};
} // namespace app::manager
M module-utils/i18/i18.cpp => module-utils/i18/i18.cpp +44 -51
@@ 7,6 7,9 @@ namespace utils
{
namespace
{
+ const auto LanguageDirPath = std::filesystem::path{"assets"} / "lang";
+ constexpr auto extension = ".json";
+
auto returnNonEmptyString(const std::string &str, const std::string &ret) -> const std::string &
{
return str.empty() ? ret : str;
@@ 14,31 17,12 @@ namespace utils
} // namespace
i18 localize;
- json11::Json LangLoader::Create(Lang lang)
+ json11::Json LangLoader::createJson(const std::string &filename)
{
- const char *path = nullptr;
-
- switch (lang) {
- case Lang::Pl:
- path = langPL_path;
- break;
- case Lang::En:
- path = langEN_path;
- break;
- case Lang::De:
- path = langDE_path;
- break;
- case Lang::Sp:
- path = langSP_path;
- break;
-
- default:
- return json11::Json();
- }
-
- auto fd = vfs.fopen(path, "r");
+ const fs::path path = LanguageDirPath / (filename + extension);
+ auto fd = vfs.fopen(path.c_str(), "r");
if (fd == nullptr) {
- LOG_FATAL("Error during opening file %s", path);
+ LOG_FATAL("Error during opening file %s", path.c_str());
return json11::Json();
}
@@ 66,64 50,73 @@ namespace utils
}
}
- void i18::setInputLanguage(Lang lang)
+ std::vector<Language> LangLoader::getAvailableDisplayLanguages() const
{
- if (!input_init) {
- backupLang = loader.Create(lang_default);
- inputLang = backupLang;
- input_init = true;
+ std::vector<std::string> languageNames;
+ for (const auto &entry : fs::directory_iterator(LanguageDirPath)) {
+ languageNames.push_back(fs::path(entry.path()).stem());
}
- if (lang == inputCurrent) {
+ return languageNames;
+ }
+
+ void i18::setInputLanguage(const Language &lang)
+ {
+ if (lang == currentInputLanguage) {
return;
}
- inputCurrent = lang;
- if (lang == lang_default) {
- inputLang = backupLang;
+ currentInputLanguage = lang;
+ if (lang == fallbackLanguageName) {
+ inputLanguage = fallbackLanguage;
}
else {
- json11::Json pack = loader.Create(lang);
- inputLang = pack;
+ json11::Json pack = loader.createJson(lang);
+ inputLanguage = pack;
}
}
const std::string &i18::getInputLanguage(const std::string &str)
{
// if language pack returned nothing then try default language
- if (inputLang[str].string_value().empty()) {
- return returnNonEmptyString(backupLang[str].string_value(), str);
+ if (inputLanguage[str].string_value().empty()) {
+ return returnNonEmptyString(fallbackLanguage[str].string_value(), str);
}
- return returnNonEmptyString(inputLang[str].string_value(), str);
+ return returnNonEmptyString(inputLanguage[str].string_value(), str);
}
const std::string &i18::get(const std::string &str)
{
// if language pack returned nothing then try default language
- if (displayLang[str].string_value().empty()) {
- return returnNonEmptyString(backupLang[str].string_value(), str);
+ if (displayLanguage[str].string_value().empty()) {
+ return returnNonEmptyString(fallbackLanguage[str].string_value(), str);
}
- return returnNonEmptyString(displayLang[str].string_value(), str);
+ return returnNonEmptyString(displayLanguage[str].string_value(), str);
}
- void i18::SetDisplayLanguage(Lang lang)
+ void i18::setDisplayLanguage(const Language &lang)
{
- if (!display_init) {
- backupLang = loader.Create(lang_default);
- displayLang = backupLang;
- display_init = true;
+ if (!backupLanguageInitializer) {
+ fallbackLanguage = loader.createJson(fallbackLanguageName);
+ displayLanguage = fallbackLanguage;
+ backupLanguageInitializer = true;
}
- if (lang == displayCurrent) {
+ if (lang == currentDisplayLanguage) {
return;
}
- displayCurrent = lang;
- if (lang == lang_default) {
- displayLang = backupLang;
+ currentDisplayLanguage = lang;
+ if (lang == fallbackLanguageName) {
+ displayLanguage = fallbackLanguage;
}
else {
- json11::Json pack = loader.Create(lang);
+ json11::Json pack = loader.createJson(lang);
// Suspend whole system during switching lang packs
vTaskSuspendAll();
- displayLang = pack;
+ displayLanguage = pack;
xTaskResumeAll();
}
}
+ void i18::setFallbackLanguage(const Language &lang)
+ {
+ fallbackLanguageName = std::move(lang);
+ }
+
} // namespace utils
M module-utils/i18/i18.hpp => module-utils/i18/i18.hpp +16 -28
@@ 11,48 11,35 @@
#include "thread.hpp"
+using Language = std::string;
+
namespace utils
{
-
- enum class Lang
- {
- En,
- Pl,
- De,
- Sp
- };
-
class LangLoader
{
-
- const char *langEN_path = "assets/lang/lang_en.json";
- const char *langPL_path = "assets/lang/lang_pl.json";
- const char *langDE_path = "assets/lang/lang_de.json";
- const char *langSP_path = "assets/lang/lang_sp.json";
-
public:
LangLoader()
{}
virtual ~LangLoader()
{}
-
- json11::Json Create(Lang lang);
+ std::vector<Language> getAvailableDisplayLanguages() const;
+ json11::Json createJson(const std::string &filename);
};
class i18
{
-
- json11::Json displayLang;
- json11::Json inputLang;
- json11::Json backupLang; // backup language if item not found
+ private:
+ json11::Json displayLanguage;
+ json11::Json inputLanguage;
+ json11::Json fallbackLanguage; // backup language if item not found
LangLoader loader;
- static const Lang lang_default = Lang::En;
- Lang displayCurrent = lang_default;
- Lang inputCurrent = lang_default;
- bool display_init = false;
- bool input_init = false;
+ Language fallbackLanguageName;
+ Language currentDisplayLanguage = fallbackLanguageName;
+ Language currentInputLanguage = fallbackLanguageName;
+ bool backupLanguageInitializer = false;
public:
+ static constexpr auto DefaultLanguage = "English";
// Default constructor, left empty on purpose
i18()
{}
@@ 61,10 48,11 @@ namespace utils
// which is not available at program's startup.
virtual ~i18()
{}
- void setInputLanguage(Lang lang);
+ void setInputLanguage(const Language &lang);
const std::string &getInputLanguage(const std::string &str);
const std::string &get(const std::string &str);
- void SetDisplayLanguage(Lang lang);
+ void setDisplayLanguage(const Language &lang);
+ void setFallbackLanguage(const Language &lang);
};
// Global instance of i18 class
M module-utils/test/test_time_conversion.cpp => module-utils/test/test_time_conversion.cpp +1 -1
@@ 240,7 240,7 @@ int main(int argc, char *argv[])
}
// set locale to PL
- utils::localize.SetDisplayLanguage(utils::Lang::Pl);
+ utils::localize.setDisplayLanguage("Polski");
std::setlocale(LC_TIME, "pl_PL.UTF-8");
// set default output to nullstream
M module-utils/test/unittest_duration.cpp => module-utils/test/unittest_duration.cpp +4 -4
@@ 25,7 25,7 @@ struct vfs_initializer
TEST_CASE("Duration - creation")
{
- utils::localize.SetDisplayLanguage(utils::Lang::En);
+ utils::localize.setDisplayLanguage("English");
SECTION("default constructor")
{
@@ 68,7 68,7 @@ TEST_CASE("Duration - creation")
TEST_CASE("Duration - arithemtics")
{
- utils::localize.SetDisplayLanguage(utils::Lang::En);
+ utils::localize.setDisplayLanguage("English");
SECTION("Addition")
{
@@ 106,7 106,7 @@ TEST_CASE("Duration - arithemtics")
TEST_CASE("Duration - comparision")
{
- utils::localize.SetDisplayLanguage(utils::Lang::En);
+ utils::localize.setDisplayLanguage("English");
SECTION("Duration")
{
@@ 150,7 150,7 @@ TEST_CASE("Duration - comparision")
TEST_CASE("Duration - display")
{
- utils::localize.SetDisplayLanguage(utils::Lang::En);
+ utils::localize.setDisplayLanguage("English");
{
using namespace utils::time;