mirror of
https://github.com/localsend/localsend.git
synced 2026-08-07 07:14:52 +00:00
feat: add WhatsNew
This commit is contained in:
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <ar>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=ar' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <bg>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=bg' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <et>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=et' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,18 @@
|
||||
"thanks": "Thank you very much!",
|
||||
"restore": "Restore purchase"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"openFile": {
|
||||
"title": "Open file",
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <hu>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=hu' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,5 +17,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,5 +20,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <ko>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=ko' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,18 @@
|
||||
"webSharePage": {
|
||||
"encryption": "@:settingsTab.network.encryption"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"errorDialog": {
|
||||
"title": "@:general.error"
|
||||
|
||||
@@ -46,6 +46,18 @@
|
||||
"aboutPage": {
|
||||
"packagers": "Packagers"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"addFile": {
|
||||
"title": "Add to selection",
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,18 @@
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"quickSaveFromFavoritesNotice": {
|
||||
"title": "@:general.quickSaveFromFavorites"
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <nl>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=nl' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <pl>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=pl' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <ru>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=ru' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <sk>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=sk' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,18 @@
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"openFile": {
|
||||
"title": "Open file",
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <sv>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=sv' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <tr>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=tr' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,17 @@
|
||||
"@@info": [
|
||||
"Here are translations that exist in <en> but not in <uk>.",
|
||||
"After editing this file, you can run 'dart run slang apply --locale=uk' to quickly apply the newly added translations."
|
||||
]
|
||||
],
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,18 @@
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"openFile": {
|
||||
"title": "Open file",
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,17 @@
|
||||
],
|
||||
"sendPage": {
|
||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,17 @@
|
||||
"hours": "{h}h {m}m",
|
||||
"days": "{d}d {h}h {m}m"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,5 +11,17 @@
|
||||
"seconds": "{n}:{ss}",
|
||||
"minutes": "{n}:{ss}"
|
||||
}
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,17 @@
|
||||
"sendTab": {
|
||||
"thisDevice": "This Device"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"dialogs": {
|
||||
"messageInput": {
|
||||
"multiline": "Multiline"
|
||||
|
||||
@@ -289,6 +289,18 @@
|
||||
"changelogPage": {
|
||||
"title": "Änderungsprotokoll"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "Was ist neu in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Die Verschlüsselung bremst die Übertragung nicht mehr aus. Sie wurde auf diesem Gerät wieder aktiviert, falls du sie zuvor deaktiviert hattest.",
|
||||
"Anfragen von Favoriten werden jetzt automatisch akzeptiert. Diese Option ist standardmäßig aktiviert und kann in den Einstellungen deaktiviert werden.",
|
||||
"Unter Android laufen Übertragungen weiter, während die App im Hintergrund ist oder der Bildschirm aus ist. Unter iOS muss die App weiterhin im Vordergrund bleiben."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"aliasGenerator(ignoreMissing, ignoreGpt)": {
|
||||
"@info": "Inherits from the English version"
|
||||
},
|
||||
|
||||
@@ -289,6 +289,18 @@
|
||||
"changelogPage": {
|
||||
"title": "Changelog"
|
||||
},
|
||||
"whatsNewPage": {
|
||||
"title": "What's new in {version}",
|
||||
"changes(interface=WhatsNewStrings)": {
|
||||
"v1_18_0": {
|
||||
"changes": [
|
||||
"Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.",
|
||||
"Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.",
|
||||
"On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"aliasGenerator(ignoreMissing, ignoreGpt)": {
|
||||
"@info": "Different locales may have different words, it may not match 1:1",
|
||||
"adjectives": [
|
||||
|
||||
@@ -11,6 +11,7 @@ import 'package:localsend_app/config/refena.dart';
|
||||
import 'package:localsend_app/config/theme.dart';
|
||||
import 'package:localsend_app/pages/home_page.dart';
|
||||
import 'package:localsend_app/pages/home_page_controller.dart';
|
||||
import 'package:localsend_app/pages/whats_new_page.dart';
|
||||
import 'package:localsend_app/provider/animation_provider.dart';
|
||||
import 'package:localsend_app/provider/app_arguments_provider.dart';
|
||||
import 'package:localsend_app/provider/device_info_provider.dart';
|
||||
@@ -24,6 +25,7 @@ import 'package:localsend_app/provider/purchase_provider.dart';
|
||||
import 'package:localsend_app/provider/selection/selected_sending_files_provider.dart';
|
||||
import 'package:localsend_app/provider/settings_provider.dart';
|
||||
import 'package:localsend_app/provider/tv_provider.dart';
|
||||
import 'package:localsend_app/provider/version_provider.dart';
|
||||
import 'package:localsend_app/provider/window_dimensions_provider.dart';
|
||||
import 'package:localsend_app/util/i18n.dart';
|
||||
import 'package:localsend_app/util/native/autostart_helper.dart';
|
||||
@@ -47,7 +49,9 @@ import 'package:localsend_isolates/rust/frb_generated.dart';
|
||||
import 'package:localsend_isolates/util/logger.dart';
|
||||
import 'package:localsend_isolates/util/transfer_notification.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:refena_flutter/addons.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
import 'package:routerino/routerino.dart';
|
||||
import 'package:share_handler/share_handler.dart';
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
@@ -163,6 +167,9 @@ Future<RefenaContainer> preInit(List<String> args) async {
|
||||
platformHint: RefenaScope.getPlatformHint(), // help Refena know the correct platform
|
||||
);
|
||||
|
||||
// compatibility for Routerino. TODO: Remove Routerino
|
||||
Routerino.navigatorKey = container.read(navigationProvider).key;
|
||||
|
||||
// initialize multi-threading
|
||||
container.set(
|
||||
parentIsolateProvider.overrideWithNotifier((ref) {
|
||||
@@ -290,6 +297,18 @@ Future<void> postInit(BuildContext context, Ref ref, bool appStart) async {
|
||||
ref.global.dispatchAsync(ClearCacheAction()); // ignore: unawaited_futures
|
||||
}
|
||||
|
||||
if (!ref.read(persistenceProvider).isFirstAppStart) {
|
||||
WhatsNewPage? whatsNew = WhatsNewPage.fromLastVersion(lastVersion: ref.read(persistenceProvider).getWhatsNew());
|
||||
if (whatsNew != null) {
|
||||
await ref.future(versionProvider).then((version) async {
|
||||
await ref.read(persistenceProvider).setWhatsNew(version.version);
|
||||
});
|
||||
|
||||
// ignore: unawaited_futures
|
||||
ref.global.dispatchAsync(NavigateAction.push(whatsNew));
|
||||
}
|
||||
}
|
||||
|
||||
// [FOSS_REMOVE_START]
|
||||
if (checkPlatformSupportPayment()) {
|
||||
// ignore: unawaited_futures
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 55
|
||||
/// Strings: 18442 (335 per locale)
|
||||
/// Strings: 18450 (335 per locale)
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
@@ -984,3 +984,38 @@ class AppLocaleUtils extends BaseAppLocaleUtils<AppLocale, Translations> {
|
||||
static List<Locale> get supportedLocales => instance.supportedLocales;
|
||||
static List<String> get supportedLocalesRaw => instance.supportedLocalesRaw;
|
||||
}
|
||||
|
||||
// interfaces generated as mixins
|
||||
|
||||
mixin WhatsNewStrings {
|
||||
List<String> get changes;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(this, other)) return true;
|
||||
if (other is! WhatsNewStrings) return false;
|
||||
|
||||
final fields = $fields;
|
||||
final otherFields = other.$fields;
|
||||
for (int i = 0; i < fields.length; i++) {
|
||||
if (fields[i] != otherFields[i]) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
final fields = $fields;
|
||||
int result = fields.first.hashCode;
|
||||
for (final element in fields.skip(1)) {
|
||||
result *= element.hashCode;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
List<Object?> get $fields => [
|
||||
changes,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1456,7 +1456,7 @@ class _Translations$settingsTab$general$brightnessOptions$ar extends Translation
|
||||
|
||||
// Translations
|
||||
@override
|
||||
String get system => 'نظام';
|
||||
String get system => 'النظام';
|
||||
@override
|
||||
String get dark => 'داكنة';
|
||||
@override
|
||||
|
||||
@@ -78,6 +78,8 @@ class TranslationsDe extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override
|
||||
late final _Translations$changelogPage$de changelogPage = _Translations$changelogPage$de._(_root);
|
||||
@override
|
||||
late final _Translations$whatsNewPage$de whatsNewPage = _Translations$whatsNewPage$de._(_root);
|
||||
@override
|
||||
late final _Translations$dialogs$de dialogs = _Translations$dialogs$de._(_root);
|
||||
@override
|
||||
late final _Translations$sanitization$de sanitization = _Translations$sanitization$de._(_root);
|
||||
@@ -509,6 +511,19 @@ class _Translations$changelogPage$de extends Translations$changelogPage$en {
|
||||
String get title => 'Änderungsprotokoll';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage
|
||||
class _Translations$whatsNewPage$de extends Translations$whatsNewPage$en {
|
||||
_Translations$whatsNewPage$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDe _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override
|
||||
String title({required Object version}) => 'Was ist neu in ${version}';
|
||||
@override
|
||||
late final _Translations$whatsNewPage$changes$de changes = _Translations$whatsNewPage$changes$de._(_root);
|
||||
}
|
||||
|
||||
// Path: dialogs
|
||||
class _Translations$dialogs$de extends Translations$dialogs$en {
|
||||
_Translations$dialogs$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
@@ -1009,6 +1024,17 @@ class _Translations$progressPage$remainingTime$de extends Translations$progressP
|
||||
String days({required Object d, required Object h, required Object m}) => '${d}d ${h}h ${m}m';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage.changes
|
||||
class _Translations$whatsNewPage$changes$de extends Translations$whatsNewPage$changes$en {
|
||||
_Translations$whatsNewPage$changes$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDe _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override
|
||||
late final _Translations$whatsNewPage$changes$v1_18_0$de v1_18_0 = _Translations$whatsNewPage$changes$v1_18_0$de._(_root);
|
||||
}
|
||||
|
||||
// Path: dialogs.addFile
|
||||
class _Translations$dialogs$addFile$de extends Translations$dialogs$addFile$en {
|
||||
_Translations$dialogs$addFile$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
@@ -1436,3 +1462,18 @@ class _Translations$progressPage$total$title$de extends Translations$progressPag
|
||||
@override
|
||||
String get canceledReceiver => 'Abgebrochen durch Empfänger';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage.changes.v1_18_0
|
||||
class _Translations$whatsNewPage$changes$v1_18_0$de extends Translations$whatsNewPage$changes$v1_18_0$en with WhatsNewStrings {
|
||||
_Translations$whatsNewPage$changes$v1_18_0$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDe _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override
|
||||
List<String> get changes => [
|
||||
'Die Verschlüsselung bremst die Übertragung nicht mehr aus. Sie wurde auf diesem Gerät wieder aktiviert, falls du sie zuvor deaktiviert hattest.',
|
||||
'Anfragen von Favoriten werden jetzt automatisch akzeptiert. Diese Option ist standardmäßig aktiviert und kann in den Einstellungen deaktiviert werden.',
|
||||
'Unter Android laufen Übertragungen weiter, während die App im Hintergrund ist oder der Bildschirm aus ist. Unter iOS muss die App weiterhin im Vordergrund bleiben.',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ class Translations with BaseTranslations<AppLocale, Translations> {
|
||||
late final Translations$aboutPage$en aboutPage = Translations$aboutPage$en.internal(_root);
|
||||
late final Translations$donationPage$en donationPage = Translations$donationPage$en.internal(_root);
|
||||
late final Translations$changelogPage$en changelogPage = Translations$changelogPage$en.internal(_root);
|
||||
late final Translations$whatsNewPage$en whatsNewPage = Translations$whatsNewPage$en.internal(_root);
|
||||
late final Translations$aliasGenerator$en aliasGenerator = Translations$aliasGenerator$en.internal(_root);
|
||||
late final Translations$dialogs$en dialogs = Translations$dialogs$en.internal(_root);
|
||||
late final Translations$sanitization$en sanitization = Translations$sanitization$en.internal(_root);
|
||||
@@ -594,6 +595,20 @@ class Translations$changelogPage$en {
|
||||
String get title => 'Changelog';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage
|
||||
class Translations$whatsNewPage$en {
|
||||
Translations$whatsNewPage$en.internal(this._root);
|
||||
|
||||
final Translations _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
|
||||
/// en: 'What's new in {version}'
|
||||
String title({required Object version}) => 'What\'s new in ${version}';
|
||||
|
||||
late final Translations$whatsNewPage$changes$en changes = Translations$whatsNewPage$changes$en.internal(_root);
|
||||
}
|
||||
|
||||
// Path: aliasGenerator
|
||||
class Translations$aliasGenerator$en {
|
||||
Translations$aliasGenerator$en.internal(this._root);
|
||||
@@ -1275,6 +1290,16 @@ class Translations$progressPage$remainingTime$en {
|
||||
String days({required Object d, required Object h, required Object m}) => '${d}d ${h}h ${m}m';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage.changes
|
||||
class Translations$whatsNewPage$changes$en {
|
||||
Translations$whatsNewPage$changes$en.internal(this._root);
|
||||
|
||||
final Translations _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
late final Translations$whatsNewPage$changes$v1_18_0$en v1_18_0 = Translations$whatsNewPage$changes$v1_18_0$en.internal(_root);
|
||||
}
|
||||
|
||||
// Path: dialogs.addFile
|
||||
class Translations$dialogs$addFile$en {
|
||||
Translations$dialogs$addFile$en.internal(this._root);
|
||||
@@ -1774,3 +1799,18 @@ class Translations$progressPage$total$title$en {
|
||||
/// en: 'Canceled by receiver'
|
||||
String get canceledReceiver => 'Canceled by receiver';
|
||||
}
|
||||
|
||||
// Path: whatsNewPage.changes.v1_18_0
|
||||
class Translations$whatsNewPage$changes$v1_18_0$en with WhatsNewStrings {
|
||||
Translations$whatsNewPage$changes$v1_18_0$en.internal(this._root);
|
||||
|
||||
final Translations _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override
|
||||
List<String> get changes => [
|
||||
'Encryption no longer slows down transfers. It has been re-enabled on this device if you turned it off before.',
|
||||
'Requests from favorites are now accepted automatically. This is turned on by default and can be disabled in the settings.',
|
||||
'On Android, transfers continue while the app is in the background or the screen is off. On iOS, the app must still stay in the foreground.',
|
||||
];
|
||||
}
|
||||
|
||||
+2
-1
@@ -14,6 +14,7 @@ import 'package:localsend_app/widget/watcher/shortcut_watcher.dart';
|
||||
import 'package:localsend_app/widget/watcher/tray_watcher.dart';
|
||||
import 'package:localsend_app/widget/watcher/window_watcher.dart';
|
||||
import 'package:localsend_isolates/isolate.dart';
|
||||
import 'package:refena_flutter/addons.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
import 'package:routerino/routerino.dart';
|
||||
|
||||
@@ -74,7 +75,7 @@ class LocalSendApp extends StatelessWidget {
|
||||
theme: getTheme(colorMode, Brightness.light, dynamicColors),
|
||||
darkTheme: getTheme(colorMode, Brightness.dark, dynamicColors),
|
||||
themeMode: colorMode == ColorMode.oled ? ThemeMode.dark : themeMode,
|
||||
navigatorKey: Routerino.navigatorKey,
|
||||
navigatorKey: context.read(navigationProvider).key,
|
||||
home: RouterinoHome(
|
||||
builder: () => const HomePage(
|
||||
initialTab: HomeTab.receive,
|
||||
|
||||
@@ -560,7 +560,7 @@ class SettingsTab extends StatelessWidget {
|
||||
.watch(versionProvider)
|
||||
.maybeWhen(
|
||||
data: (version) => Text(
|
||||
'Version: $version',
|
||||
'Version: ${version.combinedString}',
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
orElse: () => Container(),
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/widget/responsive_list_view.dart';
|
||||
import 'package:refena_flutter/addons.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
|
||||
class WhatsNewPage extends StatelessWidget {
|
||||
final String version;
|
||||
final WhatsNewStrings strings;
|
||||
|
||||
const WhatsNewPage({
|
||||
super.key,
|
||||
required this.version,
|
||||
required this.strings,
|
||||
});
|
||||
|
||||
static WhatsNewPage? fromLastVersion({required String? lastVersion}) {
|
||||
return switch (lastVersion) {
|
||||
null => WhatsNewPage(version: '1.18.0', strings: t.whatsNewPage.changes.v1_18_0),
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(t.whatsNewPage.title(version: version)),
|
||||
),
|
||||
body: ResponsiveListView(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
children: [
|
||||
for (final change in strings.changes)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(bottom: 8),
|
||||
child: Text('- $change'),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Align(
|
||||
alignment: Alignment.centerRight,
|
||||
child: FilledButton.icon(
|
||||
onPressed: () => context.global.dispatch(NavigateAction.pop()),
|
||||
icon: Icon(Icons.done),
|
||||
label: Text(t.general.done),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -90,6 +90,7 @@ const _deviceType = 'ls_device_type';
|
||||
const _deviceModel = 'ls_device_model';
|
||||
const _shareViaLinkAutoAccept = 'ls_share_via_link_auto_accept';
|
||||
const _advancedSettingsKey = 'ls_advanced_settings';
|
||||
const _whatsNewKey = 'ls_whats_new';
|
||||
|
||||
final persistenceProvider = Provider<PersistenceService>((ref) {
|
||||
throw Exception('persistenceProvider not initialized');
|
||||
@@ -539,6 +540,14 @@ class PersistenceService {
|
||||
await _prefs.setString(_deviceModel, deviceModel);
|
||||
}
|
||||
|
||||
String? getWhatsNew() {
|
||||
return _prefs.getString(_whatsNewKey);
|
||||
}
|
||||
|
||||
Future<void> setWhatsNew(String version) async {
|
||||
await _prefs.setString(_whatsNewKey, version);
|
||||
}
|
||||
|
||||
Future<void> clear() async {
|
||||
await _prefs.clear();
|
||||
}
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
|
||||
class VersionData {
|
||||
final String version;
|
||||
final String buildNumber;
|
||||
final String combinedString;
|
||||
|
||||
VersionData({
|
||||
required this.version,
|
||||
required this.buildNumber,
|
||||
}): combinedString = '$version ($buildNumber)';
|
||||
}
|
||||
|
||||
final versionProvider = FutureProvider((ref) async {
|
||||
final info = await PackageInfo.fromPlatform();
|
||||
return '${info.version} (${info.buildNumber})';
|
||||
return VersionData(
|
||||
version: info.version,
|
||||
buildNumber: info.buildNumber,
|
||||
);
|
||||
}, debugLabel: 'VersionProvider');
|
||||
|
||||
Reference in New Issue
Block a user