mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-30 18:12:25 -04:00 
			
		
		
		
	Merge pull request #1457 from tomazed/LocalizedDateFns
Localized date fns
This commit is contained in:
		
						commit
						e818f270cd
					
				| @ -108,7 +108,7 @@ export default { | |||||||
|         var _date = this.$addDaysToToday(i * -1) |         var _date = this.$addDaysToToday(i * -1) | ||||||
|         days.push({ |         days.push({ | ||||||
|           dayOfWeek: this.$formatJsDate(_date, 'EEEE'), |           dayOfWeek: this.$formatJsDate(_date, 'EEEE'), | ||||||
|           dayOfWeekAbbr: this.$strings[`Weekday${this.$formatJsDate(_date, 'EEE')}`], |           dayOfWeekAbbr: this.$formatJsDate(_date, 'EEE'), | ||||||
|           date: this.$formatJsDate(_date, 'yyyy-MM-dd') |           date: this.$formatJsDate(_date, 'yyyy-MM-dd') | ||||||
|         }) |         }) | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -68,7 +68,7 @@ export default { | |||||||
|     dayLabels() { |     dayLabels() { | ||||||
|       return [ |       return [ | ||||||
|         { |         { | ||||||
|           label: this.$strings.WeekdayMon, |           label: this.$formatJsDate(new Date(2023, 0, 2), 'EEE'), | ||||||
|           style: { |           style: { | ||||||
|             transform: `translate(${-25}px, ${13}px)`, |             transform: `translate(${-25}px, ${13}px)`, | ||||||
|             lineHeight: '10px', |             lineHeight: '10px', | ||||||
| @ -76,7 +76,7 @@ export default { | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           label: this.$strings.WeekdayWed, |           label: this.$formatJsDate(new Date(2023, 0, 4), 'EEE'), | ||||||
|           style: { |           style: { | ||||||
|             transform: `translate(${-25}px, ${13 * 3}px)`, |             transform: `translate(${-25}px, ${13 * 3}px)`, | ||||||
|             lineHeight: '10px', |             lineHeight: '10px', | ||||||
| @ -84,7 +84,7 @@ export default { | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           label: this.$strings.WeekdayFri, |           label: this.$formatJsDate(new Date(2023, 0, 6), 'EEE'), | ||||||
|           style: { |           style: { | ||||||
|             transform: `translate(${-25}px, ${13 * 5}px)`, |             transform: `translate(${-25}px, ${13 * 5}px)`, | ||||||
|             lineHeight: '10px', |             lineHeight: '10px', | ||||||
| @ -208,7 +208,7 @@ export default { | |||||||
|         const date = i === 0 ? this.firstWeekStart : this.$addDaysToDate(this.firstWeekStart, i) |         const date = i === 0 ? this.firstWeekStart : this.$addDaysToDate(this.firstWeekStart, i) | ||||||
|         const dateString = this.$formatJsDate(date, 'yyyy-MM-dd') |         const dateString = this.$formatJsDate(date, 'yyyy-MM-dd') | ||||||
|         const datePretty = this.$formatJsDate(date, 'MMM d, yyyy') |         const datePretty = this.$formatJsDate(date, 'MMM d, yyyy') | ||||||
|         const monthString = this.$strings[`Month${this.$formatJsDate(date, 'MMM')}`] |         const monthString = this.$formatJsDate(date, 'MMM') | ||||||
|         const value = this.daysListening[dateString] || 0 |         const value = this.daysListening[dateString] || 0 | ||||||
|         const x = col * 13 |         const x = col * 13 | ||||||
|         const y = row * 13 |         const y = row * 13 | ||||||
|  | |||||||
| @ -137,31 +137,31 @@ export default { | |||||||
|     weekdays() { |     weekdays() { | ||||||
|       return [ |       return [ | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdaySunday, |           text: this.$formatJsDate(new Date(2023, 0, 1), 'EEEE'), | ||||||
|           value: 0 |           value: 0 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdayMonday, |           text: this.$formatJsDate(new Date(2023, 0, 2), 'EEEE'), | ||||||
|           value: 1 |           value: 1 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdayTuesday, |           text: this.$formatJsDate(new Date(2023, 0, 3), 'EEEE'), | ||||||
|           value: 2 |           value: 2 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdayWednesday, |           text: this.$formatJsDate(new Date(2023, 0, 4), 'EEEE'), | ||||||
|           value: 3 |           value: 3 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdayThursday, |           text: this.$formatJsDate(new Date(2023, 0, 5), 'EEEE'), | ||||||
|           value: 4 |           value: 4 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdayFriday, |           text: this.$formatJsDate(new Date(2023, 0, 6), 'EEEE'), | ||||||
|           value: 5 |           value: 5 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           text: this.$strings.WeekdaySaturday, |           text: this.$formatJsDate(new Date(2023, 0, 7), 'EEEE'), | ||||||
|           value: 6 |           value: 6 | ||||||
|         } |         } | ||||||
|       ] |       ] | ||||||
|  | |||||||
| @ -5,18 +5,18 @@ import { supplant } from './utils' | |||||||
| const defaultCode = 'en-us' | const defaultCode = 'en-us' | ||||||
| 
 | 
 | ||||||
| const languageCodeMap = { | const languageCodeMap = { | ||||||
|   'de': 'Deutsch', |   'de': { label: 'Deutsch', dateFnsLocale: 'de' }, | ||||||
|   'en-us': 'English', |   'en-us': { label: 'English', dateFnsLocale: 'enUS' }, | ||||||
|   // 'es': 'Español',
 |   // 'es': { label: 'Español', dateFnsLocale: 'es' },
 | ||||||
|   'fr': 'Français', |   'fr': { label: 'Français', dateFnsLocale: 'fr' }, | ||||||
|   'hr': 'Hrvatski', |   'hr': { label: 'Hrvatski', dateFnsLocale: 'hr' }, | ||||||
|   'it': 'Italiano', |   'it': { label: 'Italiano', dateFnsLocale: 'it' }, | ||||||
|   'pl': 'Polski', |   'pl': { label: 'Polski', dateFnsLocale: 'pl' }, | ||||||
|   'zh-cn': '简体中文 (Simplified Chinese)' |   'zh-cn': { label: '简体中文 (Simplified Chinese)', dateFnsLocale: 'zhCN' }, | ||||||
| } | } | ||||||
| Vue.prototype.$languageCodeOptions = Object.keys(languageCodeMap).map(code => { | Vue.prototype.$languageCodeOptions = Object.keys(languageCodeMap).map(code => { | ||||||
|   return { |   return { | ||||||
|     text: languageCodeMap[code], |     text: languageCodeMap[code].label, | ||||||
|     value: code |     value: code | ||||||
|   } |   } | ||||||
| }) | }) | ||||||
| @ -73,6 +73,8 @@ async function loadi18n(code) { | |||||||
|   for (const key in Vue.prototype.$strings) { |   for (const key in Vue.prototype.$strings) { | ||||||
|     Vue.prototype.$strings[key] = strings[key] || translations[defaultCode][key] |     Vue.prototype.$strings[key] = strings[key] || translations[defaultCode][key] | ||||||
|   } |   } | ||||||
|  |   console.log(`dateFnsLocale = ${languageCodeMap[code].dateFnsLocale}`) | ||||||
|  |   Vue.prototype.$setDateFnsLocale(languageCodeMap[code].dateFnsLocale) | ||||||
| 
 | 
 | ||||||
|   console.log('i18n strings=', Vue.prototype.$strings) |   console.log('i18n strings=', Vue.prototype.$strings) | ||||||
|   Vue.prototype.$eventBus.$emit('change-lang', code) |   Vue.prototype.$eventBus.$emit('change-lang', code) | ||||||
|  | |||||||
| @ -1,10 +1,16 @@ | |||||||
| import Vue from 'vue' | import Vue from 'vue' | ||||||
| import Path from 'path' | import Path from 'path' | ||||||
| import vClickOutside from 'v-click-outside' | import vClickOutside from 'v-click-outside' | ||||||
| import { formatDistance, format, addDays, isDate } from 'date-fns' | import { formatDistance, format, addDays, isDate, setDefaultOptions } from 'date-fns' | ||||||
|  | import * as locale from 'date-fns/locale' | ||||||
| 
 | 
 | ||||||
| Vue.directive('click-outside', vClickOutside.directive) | Vue.directive('click-outside', vClickOutside.directive) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | Vue.prototype.$setDateFnsLocale = (localeString) => { | ||||||
|  |   if (!locale[localeString]) return 0 | ||||||
|  |   return setDefaultOptions({ locale: locale[localeString] }) | ||||||
|  | } | ||||||
| Vue.prototype.$dateDistanceFromNow = (unixms) => { | Vue.prototype.$dateDistanceFromNow = (unixms) => { | ||||||
|   if (!unixms) return '' |   if (!unixms) return '' | ||||||
|   return formatDistance(unixms, Date.now(), { addSuffix: true }) |   return formatDistance(unixms, Date.now(), { addSuffix: true }) | ||||||
|  | |||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} Bibliothek ist leer!", |   "MessageXLibraryIsEmpty": "{0} Bibliothek ist leer!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "Die Dauer Ihres Mediums ist länger als die gefundene Dauer", |   "MessageYourAudiobookDurationIsLonger": "Die Dauer Ihres Mediums ist länger als die gefundene Dauer", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "Die Dauer Ihres Mediums ist kürzer als die gefundene Dauer", |   "MessageYourAudiobookDurationIsShorter": "Die Dauer Ihres Mediums ist kürzer als die gefundene Dauer", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Aug", |  | ||||||
|   "MonthDec": "Dec", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jun", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "May", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "Der Root-Benutzer (Hauptbenutzer) ist der einzige Benutzer, der ein leeres Passwort haben kann", |   "NoteChangeRootPassword": "Der Root-Benutzer (Hauptbenutzer) ist der einzige Benutzer, der ein leeres Passwort haben kann", | ||||||
|   "NoteChapterEditorTimes": "Hinweis: Die Anfangszeit des ersten Kapitels muss bei 0:00 beginnen und die Anfangszeit des letzten Kapitels darf die Dauer des Mediums nicht überschreiten.", |   "NoteChapterEditorTimes": "Hinweis: Die Anfangszeit des ersten Kapitels muss bei 0:00 beginnen und die Anfangszeit des letzten Kapitels darf die Dauer des Mediums nicht überschreiten.", | ||||||
|   "NoteFolderPicker": "Hinweis: Bereits zugeordnete Ordner werden nicht angezeigt.", |   "NoteFolderPicker": "Hinweis: Bereits zugeordnete Ordner werden nicht angezeigt.", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Verbindung zum WebSocket verloren", |   "ToastSocketDisconnected": "Verbindung zum WebSocket verloren", | ||||||
|   "ToastSocketFailedToConnect": "Verbindung zum WebSocket fehlgeschlagen", |   "ToastSocketFailedToConnect": "Verbindung zum WebSocket fehlgeschlagen", | ||||||
|   "ToastUserDeleteFailed": "Benutzer konnte nicht gelöscht werden", |   "ToastUserDeleteFailed": "Benutzer konnte nicht gelöscht werden", | ||||||
|   "ToastUserDeleteSuccess": "Benutzer gelöscht", |   "ToastUserDeleteSuccess": "Benutzer gelöscht" | ||||||
|   "WeekdayFri": "Fri", |  | ||||||
|   "WeekdayFriday": "Freitag", |  | ||||||
|   "WeekdayMon": "Mon", |  | ||||||
|   "WeekdayMonday": "Montag", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Samstag", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Sonntag", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Donnerstag", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Dienstag", |  | ||||||
|   "WeekdayWed": "Wed", |  | ||||||
|   "WeekdayWednesday": "Mittwoch" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} Library is empty!", |   "MessageXLibraryIsEmpty": "{0} Library is empty!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "Your audiobook duration is longer than the duration found", |   "MessageYourAudiobookDurationIsLonger": "Your audiobook duration is longer than the duration found", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "Your audiobook duration is shorter than duration found", |   "MessageYourAudiobookDurationIsShorter": "Your audiobook duration is shorter than duration found", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Aug", |  | ||||||
|   "MonthDec": "Dec", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jun", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "May", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "Root user is the only user that can have an empty password", |   "NoteChangeRootPassword": "Root user is the only user that can have an empty password", | ||||||
|   "NoteChapterEditorTimes": "Note: First chapter start time must remain at 0:00 and the last chapter start time cannot exceed this audiobooks duration.", |   "NoteChapterEditorTimes": "Note: First chapter start time must remain at 0:00 and the last chapter start time cannot exceed this audiobooks duration.", | ||||||
|   "NoteFolderPicker": "Note: folders already mapped will not be shown", |   "NoteFolderPicker": "Note: folders already mapped will not be shown", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Socket disconnected", |   "ToastSocketDisconnected": "Socket disconnected", | ||||||
|   "ToastSocketFailedToConnect": "Socket failed to connect", |   "ToastSocketFailedToConnect": "Socket failed to connect", | ||||||
|   "ToastUserDeleteFailed": "Failed to delete user", |   "ToastUserDeleteFailed": "Failed to delete user", | ||||||
|   "ToastUserDeleteSuccess": "User deleted", |   "ToastUserDeleteSuccess": "User deleted" | ||||||
|   "WeekdayFri": "Fri", |  | ||||||
|   "WeekdayFriday": "Friday", |  | ||||||
|   "WeekdayMon": "Mon", |  | ||||||
|   "WeekdayMonday": "Monday", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Saturday", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Sunday", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Thursday", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Tuesday", |  | ||||||
|   "WeekdayWed": "Wed", |  | ||||||
|   "WeekdayWednesday": "Wednesday" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} Library is empty!", |   "MessageXLibraryIsEmpty": "{0} Library is empty!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "Your audiobook duration is longer than the duration found", |   "MessageYourAudiobookDurationIsLonger": "Your audiobook duration is longer than the duration found", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "Your audiobook duration is shorter than duration found", |   "MessageYourAudiobookDurationIsShorter": "Your audiobook duration is shorter than duration found", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Aug", |  | ||||||
|   "MonthDec": "Dec", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jun", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "May", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "Root user is the only user that can have an empty password", |   "NoteChangeRootPassword": "Root user is the only user that can have an empty password", | ||||||
|   "NoteChapterEditorTimes": "Note: First chapter start time must remain at 0:00 and the last chapter start time cannot exceed this audiobooks duration.", |   "NoteChapterEditorTimes": "Note: First chapter start time must remain at 0:00 and the last chapter start time cannot exceed this audiobooks duration.", | ||||||
|   "NoteFolderPicker": "Note: folders already mapped will not be shown", |   "NoteFolderPicker": "Note: folders already mapped will not be shown", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Socket disconnected", |   "ToastSocketDisconnected": "Socket disconnected", | ||||||
|   "ToastSocketFailedToConnect": "Socket failed to connect", |   "ToastSocketFailedToConnect": "Socket failed to connect", | ||||||
|   "ToastUserDeleteFailed": "Failed to delete user", |   "ToastUserDeleteFailed": "Failed to delete user", | ||||||
|   "ToastUserDeleteSuccess": "User deleted", |   "ToastUserDeleteSuccess": "User deleted" | ||||||
|   "WeekdayFri": "Fri", |  | ||||||
|   "WeekdayFriday": "Friday", |  | ||||||
|   "WeekdayMon": "Mon", |  | ||||||
|   "WeekdayMonday": "Monday", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Saturday", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Sunday", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Thursday", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Tuesday", |  | ||||||
|   "WeekdayWed": "Wed", |  | ||||||
|   "WeekdayWednesday": "Wednesday" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "La Bibliothèque {0} est vide!", |   "MessageXLibraryIsEmpty": "La Bibliothèque {0} est vide!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "La durée de votre Livre Audio est plus longue que la durée trouvée", |   "MessageYourAudiobookDurationIsLonger": "La durée de votre Livre Audio est plus longue que la durée trouvée", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "La durée de votre Livre Audio est plus courte que la durée trouvée", |   "MessageYourAudiobookDurationIsShorter": "La durée de votre Livre Audio est plus courte que la durée trouvée", | ||||||
|   "MonthApr": "Avr", |  | ||||||
|   "MonthAug": "Aoû", |  | ||||||
|   "MonthDec": "Déc", |  | ||||||
|   "MonthFeb": "Fév", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jui", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "Mai", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "L'utilisateur Root est le seul a pouvoir utiliser un mote de passe vide", |   "NoteChangeRootPassword": "L'utilisateur Root est le seul a pouvoir utiliser un mote de passe vide", | ||||||
|   "NoteChapterEditorTimes": "Information: L'horodatage du premier chapitre doit être à 0:00 et celui du dernier chapitre ne peut se situer au-delà de la durée du Livre Audio.", |   "NoteChapterEditorTimes": "Information: L'horodatage du premier chapitre doit être à 0:00 et celui du dernier chapitre ne peut se situer au-delà de la durée du Livre Audio.", | ||||||
|   "NoteFolderPicker": "Information: Les dossiers déjà surveillés ne sont pas affichés", |   "NoteFolderPicker": "Information: Les dossiers déjà surveillés ne sont pas affichés", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "WebSocket déconnecté", |   "ToastSocketDisconnected": "WebSocket déconnecté", | ||||||
|   "ToastSocketFailedToConnect": "Échec de la connexion WebSocket", |   "ToastSocketFailedToConnect": "Échec de la connexion WebSocket", | ||||||
|   "ToastUserDeleteFailed": "Échec de la suppression de l'utilisateur", |   "ToastUserDeleteFailed": "Échec de la suppression de l'utilisateur", | ||||||
|   "ToastUserDeleteSuccess": "Utilisateur supprimé", |   "ToastUserDeleteSuccess": "Utilisateur supprimé" | ||||||
|   "WeekdayFri": "Ven", |  | ||||||
|   "WeekdayFriday": "Vendredi", |  | ||||||
|   "WeekdayMon": "Lun", |  | ||||||
|   "WeekdayMonday": "Lundi", |  | ||||||
|   "WeekdaySat": "Sam", |  | ||||||
|   "WeekdaySaturday": "Samedi", |  | ||||||
|   "WeekdaySun": "Dim", |  | ||||||
|   "WeekdaySunday": "Dimanche", |  | ||||||
|   "WeekdayThu": "Jeu", |  | ||||||
|   "WeekdayThursday": "Jeudi", |  | ||||||
|   "WeekdayTue": "Mar", |  | ||||||
|   "WeekdayTuesday": "Mardi", |  | ||||||
|   "WeekdayWed": "Mer", |  | ||||||
|   "WeekdayWednesday": "Mercredi" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} Library is empty!", |   "MessageXLibraryIsEmpty": "{0} Library is empty!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "Trajanje audio knjige je duže nego pronadeđna duljina trajanja", |   "MessageYourAudiobookDurationIsLonger": "Trajanje audio knjige je duže nego pronadeđna duljina trajanja", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "Trajanje audio knjige je kraća nego pronadeđna duljina trajanja", |   "MessageYourAudiobookDurationIsShorter": "Trajanje audio knjige je kraća nego pronadeđna duljina trajanja", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Aug", |  | ||||||
|   "MonthDec": "Dec", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jun", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "May", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "Root korisnik je jedini korisnik koji može imati praznu lozinku", |   "NoteChangeRootPassword": "Root korisnik je jedini korisnik koji može imati praznu lozinku", | ||||||
|   "NoteChapterEditorTimes": "Bilješka: Prvo početno vrijeme poglavlja mora ostati na 0:00 i posljednje vrijeme poglavlja ne smije preći vrijeme trajanja ove audio knjige.", |   "NoteChapterEditorTimes": "Bilješka: Prvo početno vrijeme poglavlja mora ostati na 0:00 i posljednje vrijeme poglavlja ne smije preći vrijeme trajanja ove audio knjige.", | ||||||
|   "NoteFolderPicker": "Bilješka: več mapirani folderi neće biti prikazani", |   "NoteFolderPicker": "Bilješka: več mapirani folderi neće biti prikazani", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Socket disconnected", |   "ToastSocketDisconnected": "Socket disconnected", | ||||||
|   "ToastSocketFailedToConnect": "Socket failed to connect", |   "ToastSocketFailedToConnect": "Socket failed to connect", | ||||||
|   "ToastUserDeleteFailed": "Neuspješno brisanje korisnika", |   "ToastUserDeleteFailed": "Neuspješno brisanje korisnika", | ||||||
|   "ToastUserDeleteSuccess": "Korisnik obrisan", |   "ToastUserDeleteSuccess": "Korisnik obrisan" | ||||||
|   "WeekdayFri": "Fri", |  | ||||||
|   "WeekdayFriday": "Petak", |  | ||||||
|   "WeekdayMon": "Mon", |  | ||||||
|   "WeekdayMonday": "Ponedjeljak", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Subota", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Nedjelja", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Četvrtak", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Utorak", |  | ||||||
|   "WeekdayWed": "Wed", |  | ||||||
|   "WeekdayWednesday": "Srijeda" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} libreria vuota!", |   "MessageXLibraryIsEmpty": "{0} libreria vuota!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "La durata dell'audiolibro è più lunga della durata trovata", |   "MessageYourAudiobookDurationIsLonger": "La durata dell'audiolibro è più lunga della durata trovata", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "La durata dell'audiolibro è inferiore alla durata trovata", |   "MessageYourAudiobookDurationIsShorter": "La durata dell'audiolibro è inferiore alla durata trovata", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Ago", |  | ||||||
|   "MonthDec": "Dic", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Gen", |  | ||||||
|   "MonthJul": "Lul", |  | ||||||
|   "MonthJun": "Giu", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "Mag", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Ott", |  | ||||||
|   "MonthSep": "Set", |  | ||||||
|   "NoteChangeRootPassword": "L'utente root è l'unico utente che può avere una password vuota", |   "NoteChangeRootPassword": "L'utente root è l'unico utente che può avere una password vuota", | ||||||
|   "NoteChapterEditorTimes": "Nota: l'ora di inizio del primo capitolo deve rimanere alle 0:00 e l'ora di inizio dell'ultimo capitolo non può superare la durata di questo audiolibro.", |   "NoteChapterEditorTimes": "Nota: l'ora di inizio del primo capitolo deve rimanere alle 0:00 e l'ora di inizio dell'ultimo capitolo non può superare la durata di questo audiolibro.", | ||||||
|   "NoteFolderPicker": "Nota: le cartelle già mappate non verranno visualizzate", |   "NoteFolderPicker": "Nota: le cartelle già mappate non verranno visualizzate", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Socket disconnesso", |   "ToastSocketDisconnected": "Socket disconnesso", | ||||||
|   "ToastSocketFailedToConnect": "Socket non riesce a connettersi", |   "ToastSocketFailedToConnect": "Socket non riesce a connettersi", | ||||||
|   "ToastUserDeleteFailed": "Errore eliminazione utente", |   "ToastUserDeleteFailed": "Errore eliminazione utente", | ||||||
|   "ToastUserDeleteSuccess": "Utente eliminato", |   "ToastUserDeleteSuccess": "Utente eliminato" | ||||||
|   "WeekdayFri": "Ven", |  | ||||||
|   "WeekdayFriday": "Venerdì", |  | ||||||
|   "WeekdayMon": "Lun", |  | ||||||
|   "WeekdayMonday": "Lunedì", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Sabato", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Domenica", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Giovedì", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Martedì", |  | ||||||
|   "WeekdayWed": "Mer", |  | ||||||
|   "WeekdayWednesday": "Mercoledì" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} Biblioteka jest pusta!", |   "MessageXLibraryIsEmpty": "{0} Biblioteka jest pusta!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "Czas trwania Twojego audiobooka jest dłuższy niż znaleziony czas trwania", |   "MessageYourAudiobookDurationIsLonger": "Czas trwania Twojego audiobooka jest dłuższy niż znaleziony czas trwania", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "Czas trwania Twojego audiobooka jest krótszy niż znaleziony czas trwania", |   "MessageYourAudiobookDurationIsShorter": "Czas trwania Twojego audiobooka jest krótszy niż znaleziony czas trwania", | ||||||
|   "MonthApr": "Apr", |  | ||||||
|   "MonthAug": "Aug", |  | ||||||
|   "MonthDec": "Dec", |  | ||||||
|   "MonthFeb": "Feb", |  | ||||||
|   "MonthJan": "Jan", |  | ||||||
|   "MonthJul": "Jul", |  | ||||||
|   "MonthJun": "Jun", |  | ||||||
|   "MonthMar": "Mar", |  | ||||||
|   "MonthMay": "May", |  | ||||||
|   "MonthNov": "Nov", |  | ||||||
|   "MonthOct": "Oct", |  | ||||||
|   "MonthSep": "Sep", |  | ||||||
|   "NoteChangeRootPassword": "Tylko użytkownik root, może posiadać puste hasło", |   "NoteChangeRootPassword": "Tylko użytkownik root, może posiadać puste hasło", | ||||||
|   "NoteChapterEditorTimes": "Uwaga: Czas rozpoczęcia pierwszego rozdziału musi pozostać na poziomie 0:00, a czas rozpoczęcia ostatniego rozdziału nie może przekroczyć czasu trwania audiobooka.", |   "NoteChapterEditorTimes": "Uwaga: Czas rozpoczęcia pierwszego rozdziału musi pozostać na poziomie 0:00, a czas rozpoczęcia ostatniego rozdziału nie może przekroczyć czasu trwania audiobooka.", | ||||||
|   "NoteFolderPicker": "Uwaga: dotychczas zmapowane foldery nie zostaną wyświetlone", |   "NoteFolderPicker": "Uwaga: dotychczas zmapowane foldery nie zostaną wyświetlone", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "Połączenie z serwerem zostało zamknięte", |   "ToastSocketDisconnected": "Połączenie z serwerem zostało zamknięte", | ||||||
|   "ToastSocketFailedToConnect": "Poączenie z serwerem nie powiodło się", |   "ToastSocketFailedToConnect": "Poączenie z serwerem nie powiodło się", | ||||||
|   "ToastUserDeleteFailed": "Nie udało się usunąć użytkownika", |   "ToastUserDeleteFailed": "Nie udało się usunąć użytkownika", | ||||||
|   "ToastUserDeleteSuccess": "Użytkownik usunięty", |   "ToastUserDeleteSuccess": "Użytkownik usunięty" | ||||||
|   "WeekdayFri": "Fri", |  | ||||||
|   "WeekdayFriday": "Piątek", |  | ||||||
|   "WeekdayMon": "Mon", |  | ||||||
|   "WeekdayMonday": "Poniedziałek", |  | ||||||
|   "WeekdaySat": "Sat", |  | ||||||
|   "WeekdaySaturday": "Sobota", |  | ||||||
|   "WeekdaySun": "Sun", |  | ||||||
|   "WeekdaySunday": "Niedziela", |  | ||||||
|   "WeekdayThu": "Thu", |  | ||||||
|   "WeekdayThursday": "Czwartek", |  | ||||||
|   "WeekdayTue": "Tue", |  | ||||||
|   "WeekdayTuesday": "Wtorek", |  | ||||||
|   "WeekdayWed": "Wed", |  | ||||||
|   "WeekdayWednesday": "Środa" |  | ||||||
| } | } | ||||||
| @ -533,18 +533,6 @@ | |||||||
|   "MessageXLibraryIsEmpty": "{0} 库为空!", |   "MessageXLibraryIsEmpty": "{0} 库为空!", | ||||||
|   "MessageYourAudiobookDurationIsLonger": "您的有声读物持续时间比找到的持续时间长", |   "MessageYourAudiobookDurationIsLonger": "您的有声读物持续时间比找到的持续时间长", | ||||||
|   "MessageYourAudiobookDurationIsShorter": "您的有声读物持续时间比找到的持续时间短", |   "MessageYourAudiobookDurationIsShorter": "您的有声读物持续时间比找到的持续时间短", | ||||||
|   "MonthApr": "四月", |  | ||||||
|   "MonthAug": "八月", |  | ||||||
|   "MonthDec": "十二月", |  | ||||||
|   "MonthFeb": "二月", |  | ||||||
|   "MonthJan": "一月", |  | ||||||
|   "MonthJul": "七月", |  | ||||||
|   "MonthJun": "六月", |  | ||||||
|   "MonthMar": "三月", |  | ||||||
|   "MonthMay": "五月", |  | ||||||
|   "MonthNov": "十一月", |  | ||||||
|   "MonthOct": "十月", |  | ||||||
|   "MonthSep": "九月", |  | ||||||
|   "NoteChangeRootPassword": "Root 是唯一可以拥有空密码的用户", |   "NoteChangeRootPassword": "Root 是唯一可以拥有空密码的用户", | ||||||
|   "NoteChapterEditorTimes": "注意: 第一章开始时间必须保持在 0:00, 最后一章开始时间不能超过有声读物持续时间.", |   "NoteChapterEditorTimes": "注意: 第一章开始时间必须保持在 0:00, 最后一章开始时间不能超过有声读物持续时间.", | ||||||
|   "NoteFolderPicker": "注意: 将不显示已映射的文件夹", |   "NoteFolderPicker": "注意: 将不显示已映射的文件夹", | ||||||
| @ -626,19 +614,5 @@ | |||||||
|   "ToastSocketDisconnected": "网络已断开", |   "ToastSocketDisconnected": "网络已断开", | ||||||
|   "ToastSocketFailedToConnect": "网络连接失败", |   "ToastSocketFailedToConnect": "网络连接失败", | ||||||
|   "ToastUserDeleteFailed": "删除用户失败", |   "ToastUserDeleteFailed": "删除用户失败", | ||||||
|   "ToastUserDeleteSuccess": "用户已删除", |   "ToastUserDeleteSuccess": "用户已删除" | ||||||
|   "WeekdayFri": "周五", |  | ||||||
|   "WeekdayFriday": "星期五", |  | ||||||
|   "WeekdayMon": "周一", |  | ||||||
|   "WeekdayMonday": "星期一", |  | ||||||
|   "WeekdaySat": "周六", |  | ||||||
|   "WeekdaySaturday": "星期六", |  | ||||||
|   "WeekdaySun": "周日", |  | ||||||
|   "WeekdaySunday": "星期日", |  | ||||||
|   "WeekdayThu": "周四", |  | ||||||
|   "WeekdayThursday": "星期四", |  | ||||||
|   "WeekdayTue": "周二", |  | ||||||
|   "WeekdayTuesday": "星期二", |  | ||||||
|   "WeekdayWed": "周三", |  | ||||||
|   "WeekdayWednesday": "星期三" |  | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user