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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <ar>.",
|
"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."
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <bg>.",
|
"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."
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <et>.",
|
"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."
|
"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!",
|
"thanks": "Thank you very much!",
|
||||||
"restore": "Restore purchase"
|
"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": {
|
"dialogs": {
|
||||||
"openFile": {
|
"openFile": {
|
||||||
"title": "Open file",
|
"title": "Open file",
|
||||||
|
|||||||
@@ -5,5 +5,17 @@
|
|||||||
],
|
],
|
||||||
"sendPage": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <hu>.",
|
"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."
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <ko>.",
|
"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."
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"webSharePage": {
|
||||||
"encryption": "@:settingsTab.network.encryption"
|
"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": {
|
"dialogs": {
|
||||||
"errorDialog": {
|
"errorDialog": {
|
||||||
"title": "@:general.error"
|
"title": "@:general.error"
|
||||||
|
|||||||
@@ -46,6 +46,18 @@
|
|||||||
"aboutPage": {
|
"aboutPage": {
|
||||||
"packagers": "Packagers"
|
"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": {
|
"dialogs": {
|
||||||
"addFile": {
|
"addFile": {
|
||||||
"title": "Add to selection",
|
"title": "Add to selection",
|
||||||
|
|||||||
@@ -13,5 +13,17 @@
|
|||||||
"hours": "{h}h {m}m",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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"
|
"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": {
|
"dialogs": {
|
||||||
"quickSaveFromFavoritesNotice": {
|
"quickSaveFromFavoritesNotice": {
|
||||||
"title": "@:general.quickSaveFromFavorites"
|
"title": "@:general.quickSaveFromFavorites"
|
||||||
|
|||||||
@@ -2,5 +2,17 @@
|
|||||||
"@@info": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <nl>.",
|
"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."
|
"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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <pl>.",
|
"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."
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <ru>.",
|
"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."
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <sk>.",
|
"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."
|
"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"
|
"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": {
|
"dialogs": {
|
||||||
"openFile": {
|
"openFile": {
|
||||||
"title": "Open file",
|
"title": "Open file",
|
||||||
|
|||||||
@@ -13,5 +13,17 @@
|
|||||||
"hours": "{h}h {m}m",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <sv>.",
|
"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."
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <tr>.",
|
"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."
|
"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": [
|
"@@info": [
|
||||||
"Here are translations that exist in <en> but not in <uk>.",
|
"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."
|
"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"
|
"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": {
|
"dialogs": {
|
||||||
"openFile": {
|
"openFile": {
|
||||||
"title": "Open file",
|
"title": "Open file",
|
||||||
|
|||||||
@@ -5,5 +5,17 @@
|
|||||||
],
|
],
|
||||||
"sendPage": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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": {
|
"sendPage": {
|
||||||
"calculatingChecksum": "Calculating checksum ({curr} / {n})"
|
"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",
|
"hours": "{h}h {m}m",
|
||||||
"days": "{d}d {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}",
|
"seconds": "{n}:{ss}",
|
||||||
"minutes": "{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": {
|
"sendTab": {
|
||||||
"thisDevice": "This Device"
|
"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": {
|
"dialogs": {
|
||||||
"messageInput": {
|
"messageInput": {
|
||||||
"multiline": "Multiline"
|
"multiline": "Multiline"
|
||||||
|
|||||||
@@ -289,6 +289,18 @@
|
|||||||
"changelogPage": {
|
"changelogPage": {
|
||||||
"title": "Änderungsprotokoll"
|
"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)": {
|
"aliasGenerator(ignoreMissing, ignoreGpt)": {
|
||||||
"@info": "Inherits from the English version"
|
"@info": "Inherits from the English version"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -289,6 +289,18 @@
|
|||||||
"changelogPage": {
|
"changelogPage": {
|
||||||
"title": "Changelog"
|
"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)": {
|
"aliasGenerator(ignoreMissing, ignoreGpt)": {
|
||||||
"@info": "Different locales may have different words, it may not match 1:1",
|
"@info": "Different locales may have different words, it may not match 1:1",
|
||||||
"adjectives": [
|
"adjectives": [
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import 'package:localsend_app/config/refena.dart';
|
|||||||
import 'package:localsend_app/config/theme.dart';
|
import 'package:localsend_app/config/theme.dart';
|
||||||
import 'package:localsend_app/pages/home_page.dart';
|
import 'package:localsend_app/pages/home_page.dart';
|
||||||
import 'package:localsend_app/pages/home_page_controller.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/animation_provider.dart';
|
||||||
import 'package:localsend_app/provider/app_arguments_provider.dart';
|
import 'package:localsend_app/provider/app_arguments_provider.dart';
|
||||||
import 'package:localsend_app/provider/device_info_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/selection/selected_sending_files_provider.dart';
|
||||||
import 'package:localsend_app/provider/settings_provider.dart';
|
import 'package:localsend_app/provider/settings_provider.dart';
|
||||||
import 'package:localsend_app/provider/tv_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/provider/window_dimensions_provider.dart';
|
||||||
import 'package:localsend_app/util/i18n.dart';
|
import 'package:localsend_app/util/i18n.dart';
|
||||||
import 'package:localsend_app/util/native/autostart_helper.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/logger.dart';
|
||||||
import 'package:localsend_isolates/util/transfer_notification.dart';
|
import 'package:localsend_isolates/util/transfer_notification.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
import 'package:refena_flutter/addons.dart';
|
||||||
import 'package:refena_flutter/refena_flutter.dart';
|
import 'package:refena_flutter/refena_flutter.dart';
|
||||||
|
import 'package:routerino/routerino.dart';
|
||||||
import 'package:share_handler/share_handler.dart';
|
import 'package:share_handler/share_handler.dart';
|
||||||
import 'package:window_manager/window_manager.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
|
platformHint: RefenaScope.getPlatformHint(), // help Refena know the correct platform
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// compatibility for Routerino. TODO: Remove Routerino
|
||||||
|
Routerino.navigatorKey = container.read(navigationProvider).key;
|
||||||
|
|
||||||
// initialize multi-threading
|
// initialize multi-threading
|
||||||
container.set(
|
container.set(
|
||||||
parentIsolateProvider.overrideWithNotifier((ref) {
|
parentIsolateProvider.overrideWithNotifier((ref) {
|
||||||
@@ -290,6 +297,18 @@ Future<void> postInit(BuildContext context, Ref ref, bool appStart) async {
|
|||||||
ref.global.dispatchAsync(ClearCacheAction()); // ignore: unawaited_futures
|
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]
|
// [FOSS_REMOVE_START]
|
||||||
if (checkPlatformSupportPayment()) {
|
if (checkPlatformSupportPayment()) {
|
||||||
// ignore: unawaited_futures
|
// ignore: unawaited_futures
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
/// To regenerate, run: `dart run slang`
|
/// To regenerate, run: `dart run slang`
|
||||||
///
|
///
|
||||||
/// Locales: 55
|
/// Locales: 55
|
||||||
/// Strings: 18442 (335 per locale)
|
/// Strings: 18450 (335 per locale)
|
||||||
|
|
||||||
// coverage:ignore-file
|
// coverage:ignore-file
|
||||||
// ignore_for_file: type=lint, unused_import
|
// 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<Locale> get supportedLocales => instance.supportedLocales;
|
||||||
static List<String> get supportedLocalesRaw => instance.supportedLocalesRaw;
|
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
|
// Translations
|
||||||
@override
|
@override
|
||||||
String get system => 'نظام';
|
String get system => 'النظام';
|
||||||
@override
|
@override
|
||||||
String get dark => 'داكنة';
|
String get dark => 'داكنة';
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ class TranslationsDe extends Translations with BaseTranslations<AppLocale, Trans
|
|||||||
@override
|
@override
|
||||||
late final _Translations$changelogPage$de changelogPage = _Translations$changelogPage$de._(_root);
|
late final _Translations$changelogPage$de changelogPage = _Translations$changelogPage$de._(_root);
|
||||||
@override
|
@override
|
||||||
|
late final _Translations$whatsNewPage$de whatsNewPage = _Translations$whatsNewPage$de._(_root);
|
||||||
|
@override
|
||||||
late final _Translations$dialogs$de dialogs = _Translations$dialogs$de._(_root);
|
late final _Translations$dialogs$de dialogs = _Translations$dialogs$de._(_root);
|
||||||
@override
|
@override
|
||||||
late final _Translations$sanitization$de sanitization = _Translations$sanitization$de._(_root);
|
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';
|
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
|
// Path: dialogs
|
||||||
class _Translations$dialogs$de extends Translations$dialogs$en {
|
class _Translations$dialogs$de extends Translations$dialogs$en {
|
||||||
_Translations$dialogs$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
_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';
|
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
|
// Path: dialogs.addFile
|
||||||
class _Translations$dialogs$addFile$de extends Translations$dialogs$addFile$en {
|
class _Translations$dialogs$addFile$de extends Translations$dialogs$addFile$en {
|
||||||
_Translations$dialogs$addFile$de._(TranslationsDe root) : this._root = root, super.internal(root);
|
_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
|
@override
|
||||||
String get canceledReceiver => 'Abgebrochen durch Empfänger';
|
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$aboutPage$en aboutPage = Translations$aboutPage$en.internal(_root);
|
||||||
late final Translations$donationPage$en donationPage = Translations$donationPage$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$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$aliasGenerator$en aliasGenerator = Translations$aliasGenerator$en.internal(_root);
|
||||||
late final Translations$dialogs$en dialogs = Translations$dialogs$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);
|
late final Translations$sanitization$en sanitization = Translations$sanitization$en.internal(_root);
|
||||||
@@ -594,6 +595,20 @@ class Translations$changelogPage$en {
|
|||||||
String get title => 'Changelog';
|
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
|
// Path: aliasGenerator
|
||||||
class Translations$aliasGenerator$en {
|
class Translations$aliasGenerator$en {
|
||||||
Translations$aliasGenerator$en.internal(this._root);
|
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';
|
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
|
// Path: dialogs.addFile
|
||||||
class Translations$dialogs$addFile$en {
|
class Translations$dialogs$addFile$en {
|
||||||
Translations$dialogs$addFile$en.internal(this._root);
|
Translations$dialogs$addFile$en.internal(this._root);
|
||||||
@@ -1774,3 +1799,18 @@ class Translations$progressPage$total$title$en {
|
|||||||
/// en: 'Canceled by receiver'
|
/// en: 'Canceled by receiver'
|
||||||
String get canceledReceiver => '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/tray_watcher.dart';
|
||||||
import 'package:localsend_app/widget/watcher/window_watcher.dart';
|
import 'package:localsend_app/widget/watcher/window_watcher.dart';
|
||||||
import 'package:localsend_isolates/isolate.dart';
|
import 'package:localsend_isolates/isolate.dart';
|
||||||
|
import 'package:refena_flutter/addons.dart';
|
||||||
import 'package:refena_flutter/refena_flutter.dart';
|
import 'package:refena_flutter/refena_flutter.dart';
|
||||||
import 'package:routerino/routerino.dart';
|
import 'package:routerino/routerino.dart';
|
||||||
|
|
||||||
@@ -74,7 +75,7 @@ class LocalSendApp extends StatelessWidget {
|
|||||||
theme: getTheme(colorMode, Brightness.light, dynamicColors),
|
theme: getTheme(colorMode, Brightness.light, dynamicColors),
|
||||||
darkTheme: getTheme(colorMode, Brightness.dark, dynamicColors),
|
darkTheme: getTheme(colorMode, Brightness.dark, dynamicColors),
|
||||||
themeMode: colorMode == ColorMode.oled ? ThemeMode.dark : themeMode,
|
themeMode: colorMode == ColorMode.oled ? ThemeMode.dark : themeMode,
|
||||||
navigatorKey: Routerino.navigatorKey,
|
navigatorKey: context.read(navigationProvider).key,
|
||||||
home: RouterinoHome(
|
home: RouterinoHome(
|
||||||
builder: () => const HomePage(
|
builder: () => const HomePage(
|
||||||
initialTab: HomeTab.receive,
|
initialTab: HomeTab.receive,
|
||||||
|
|||||||
@@ -560,7 +560,7 @@ class SettingsTab extends StatelessWidget {
|
|||||||
.watch(versionProvider)
|
.watch(versionProvider)
|
||||||
.maybeWhen(
|
.maybeWhen(
|
||||||
data: (version) => Text(
|
data: (version) => Text(
|
||||||
'Version: $version',
|
'Version: ${version.combinedString}',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
orElse: () => Container(),
|
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 _deviceModel = 'ls_device_model';
|
||||||
const _shareViaLinkAutoAccept = 'ls_share_via_link_auto_accept';
|
const _shareViaLinkAutoAccept = 'ls_share_via_link_auto_accept';
|
||||||
const _advancedSettingsKey = 'ls_advanced_settings';
|
const _advancedSettingsKey = 'ls_advanced_settings';
|
||||||
|
const _whatsNewKey = 'ls_whats_new';
|
||||||
|
|
||||||
final persistenceProvider = Provider<PersistenceService>((ref) {
|
final persistenceProvider = Provider<PersistenceService>((ref) {
|
||||||
throw Exception('persistenceProvider not initialized');
|
throw Exception('persistenceProvider not initialized');
|
||||||
@@ -539,6 +540,14 @@ class PersistenceService {
|
|||||||
await _prefs.setString(_deviceModel, deviceModel);
|
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 {
|
Future<void> clear() async {
|
||||||
await _prefs.clear();
|
await _prefs.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,21 @@
|
|||||||
import 'package:package_info_plus/package_info_plus.dart';
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
import 'package:refena_flutter/refena_flutter.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 versionProvider = FutureProvider((ref) async {
|
||||||
final info = await PackageInfo.fromPlatform();
|
final info = await PackageInfo.fromPlatform();
|
||||||
return '${info.version} (${info.buildNumber})';
|
return VersionData(
|
||||||
|
version: info.version,
|
||||||
|
buildNumber: info.buildNumber,
|
||||||
|
);
|
||||||
}, debugLabel: 'VersionProvider');
|
}, debugLabel: 'VersionProvider');
|
||||||
|
|||||||
Reference in New Issue
Block a user