diff --git a/core/messages/about/en.ts b/core/messages/about/en.ts index c56764466..f5733a40f 100644 --- a/core/messages/about/en.ts +++ b/core/messages/about/en.ts @@ -2,9 +2,9 @@ import { i18n } from '../../i18n.ts' export const aboutMessages = i18n('about', { opensource: - 'This app is open source. Every developer or LLM can check the app really do what we promise you.', + 'This app is open source. Anyone, including developers and LLMs, can see exactly how it works and verify our promises.', pageTitle: 'About', reportIssue: 'Report an issue', version: 'App version', - viewSources: 'View app sources' + viewSources: 'View source code' }) diff --git a/core/messages/add/en.ts b/core/messages/add/en.ts index a48e88bf3..0b4d94d2f 100644 --- a/core/messages/add/en.ts +++ b/core/messages/add/en.ts @@ -3,15 +3,14 @@ import { i18n } from '../../i18n.ts' export const addMessages = i18n('add', { add: 'Subscribe to feed', edit: 'Edit', - invalidUrl: 'URL has an mistake, please check it', + invalidUrl: 'There seems to be a mistake in the URL. Please check it.', noResults: - 'Feeds were not found on this website.\n\n' + - 'Please check URL and [open an issue] if it’s correct.', - search: 'Search for feed', + 'No feeds were found on this website.\n\n' + + 'Please check the URL or [open an issue] if it looks correct.', searchGuide: - 'For now we support RSS and Mastodon.\n\n' + - 'More sources are coming, but you can use RSS wrappers for them.', - title: 'Add', + 'Currently, Slow Reader supports RSS and Mastodon.\n\n' + + 'Support for more sources is coming soon, but you can already use RSS wrappers for them.', + title: 'Add feed', unloadable: 'Can’t open this website', - urlLabel: 'Web page URL or social account handle' + urlLabel: 'Web page URL or social media handle' }) diff --git a/core/messages/auth/en.ts b/core/messages/auth/en.ts index 6b417a5ff..e3bdffa1f 100644 --- a/core/messages/auth/en.ts +++ b/core/messages/auth/en.ts @@ -7,34 +7,34 @@ export const authMessages = i18n('auth', { createAccount: 'Create cross-device account', customServer: 'Use my own server', email: params( - '// Send this email to yourself\n// If you will forget password, you will search by it here\n\nUser ID: {user}\nSecret: {secret}' + '// Send this email to yourself\n// If you forget your password, you can search for it later here\n\nUser ID: {user}\nSecret: {secret}' ), - localDescription1: 'Slow Reader works locally.', + localDescription1: 'Slow Reader works right on your device. No account needed.', localDescription2: - 'You can create account later when you will need cross-device sync.', - login: 'Login into existing account', - newUser: 'New user', + 'You can create an account later to sync across devices.', + login: 'Log in', + newUser: 'Get started locally', noRecoveryDesc: - 'The app uses end-to-end encryption. But if you will lose your password, nobody will be able to decrypt it.', - noRecoveryTitle: 'We don’t have password recovery', - oldUser: 'Existing user', + 'Slow Reader uses end-to-end encryption. If you lose your password, no one will be able to decrypt your data.', + noRecoveryTitle: 'No password recovery', + oldUser: 'Sign in to your account', payWarning: - 'After the beta we will fund development by small monthly subscription for using server. Self-hosted solution will be free.', + 'After the beta, a small monthly subscription will support server development. Self-hosted use will stay free.', randomNote: - 'We are using random user ID for privacy to make it harder to connect user with real person', - regenerateCredetials: 'Re-generate', - savedPromise: 'I saved user ID and secret', + 'A random user ID is used for privacy. It makes it harder to link your account to your identity.', + regenerateCredentials: 'Regenerate credentials', + savedPromise: 'I’ve saved my User ID and Secret', savePassword: 'Save your password', secret: 'Secret', server: 'Custom server', - signingIn: 'Sending sign-in form', - signingUp: 'Creating user', - signup: 'Create user on the server', - signupTitle: 'Sign Up', + signingIn: 'Signing in…', + signingUp: 'Creating account…', + signup: 'Create account on the server', + signupTitle: 'Sign up', start: 'Start local app', startTitle: 'Start', title: 'No account in this browser yet', toEmail: 'Email password to myself', userId: 'User ID', - userIdTaken: 'This user ID was taken' + userIdTaken: 'This User ID is already taken' }) diff --git a/core/messages/common/en.ts b/core/messages/common/en.ts index 17b11070c..bdd40fafe 100644 --- a/core/messages/common/en.ts +++ b/core/messages/common/en.ts @@ -4,13 +4,13 @@ export const commonMessages = i18n('common', { brokenCategory: 'Broken category', empty: 'The value is required', generalCategory: 'General', - internalError: 'The app crashed, try again later when we’ll fix it', - invalidCredentials: 'There is no user with such user ID and password', - invalidSecret: 'Secret should have 2 words by 10 symbols', - invalidServer: 'Is not valid domain', - invalidUrl: 'Doesn’t look like web page address', - invalidUserId: 'User ID should contain 16 numbers', - loading: 'Loading', - networkError: 'Can’t reach server, check your network', + internalError: 'The app crashed. Please try again later while we fix it.', + invalidCredentials: 'No user found with this User ID and password', + invalidSecret: 'Secret must contain two words of 10 characters each', + invalidServer: 'This doesn’t look like a valid domain', + invalidUrl: 'This doesn’t look like a valid web address', + invalidUserId: 'User ID must contain 16 digits', + loading: 'Loading…', + networkError: 'Can’t reach the server. Please check your internet connection.', openPost: 'Open post' }) diff --git a/core/messages/export/en.ts b/core/messages/export/en.ts index 6c91acc75..d21082b2f 100644 --- a/core/messages/export/en.ts +++ b/core/messages/export/en.ts @@ -7,9 +7,9 @@ export const exportMessages = i18n('export', { exportFeeds: 'Export feeds', exportPosts: 'Export posts', exportTitle: 'Export', - noPosts: 'No posts', + noPosts: 'No posts yet', selectFeeds: 'Select feeds', - submitInternal: 'Export to internal', - submitOPML: 'Export to OPML', + submitInternal: 'Export to internal storage', + submitOPML: 'Export as OPML file', type: 'Feed type' }) diff --git a/core/messages/fast/en.ts b/core/messages/fast/en.ts index 41c073f03..0e9656b90 100644 --- a/core/messages/fast/en.ts +++ b/core/messages/fast/en.ts @@ -1,9 +1,9 @@ import { i18n } from '../../i18n.ts' export const fastMessages = i18n('fast', { - noPosts: 'No posts', + noPosts: 'No posts yet', pageTitle: 'Fast reading', - readLast: 'Mark read', - readNext: 'Mark read and load next', + readLast: 'Mark as read', + readNext: 'Mark as read and load next', showNext: 'Show next' }) diff --git a/core/messages/import/en.ts b/core/messages/import/en.ts index 1264bf5ca..e9cf51ab0 100644 --- a/core/messages/import/en.ts +++ b/core/messages/import/en.ts @@ -2,13 +2,13 @@ import { i18n } from '../../i18n.ts' export const importMessages = i18n('import', { allFeeds: 'All feeds', - failedParseJSONError: 'Failed to parse JSON or invalid structure', + failedParseJSONError: 'Couldn’t parse JSON or the structure is invalid', formatError: 'Unsupported file format', importTitle: 'Import', invalidJSONError: 'Invalid JSON structure', - loadError: 'Failed to load the following feeds', - loadProccess: 'Importing', - OPMLError: 'File is not in OPML format', + loadError: 'Failed to load the following feeds:', + loadProcess: 'Importing…', + OPMLError: 'The file is not in OPML format', selectFeeds: 'Select feeds', type: 'import type' }) diff --git a/core/messages/navbar/en.ts b/core/messages/navbar/en.ts index 4d03dd9dc..635d71c16 100644 --- a/core/messages/navbar/en.ts +++ b/core/messages/navbar/en.ts @@ -1,25 +1,25 @@ import { i18n } from '../../i18n.ts' export const navbarMessages = i18n('navbar', { - about: 'About the App', + about: 'About the app', add: 'Add feed', back: 'Back', - connectingStatus: 'Connecting', - download: 'Feed Loading', + connectingStatus: 'Connecting…', + download: 'Loading feeds…', errorStatus: 'Sync error', export: 'Export', fast: 'Fun', - feeds: 'Manage Feeds', - feedsByCategories: 'By Category', + feeds: 'Manage feeds', + feedsByCategories: 'By category', import: 'Import', - interface: 'User Interface', - menu: 'Feeds & Settings', + interface: 'Interface', + menu: 'Feeds & settings', offlineStatus: 'Offline', - postRefreshing: 'Checking feeds for new posts', + postRefreshing: 'Checking feeds for new posts…', profile: 'Profile', refresh: 'Check for new posts', - refreshing: 'Post updating', - sending: 'Saving', + refreshing: 'Updating posts…', + sending: 'Saving…', settings: 'Settings', slow: 'Useful', synchronizedAfterWaitStatus: 'Synchronized' diff --git a/core/messages/not-found/en.ts b/core/messages/not-found/en.ts index 57037367e..16c936828 100644 --- a/core/messages/not-found/en.ts +++ b/core/messages/not-found/en.ts @@ -2,6 +2,6 @@ import { i18n } from '../../i18n.ts' export const notFoundMessages = i18n('notFound', { home: 'Home', - pageText: 'Page wasn’t found', + pageText: 'Page not found', pageTitle: '404' }) diff --git a/core/messages/organize/en.ts b/core/messages/organize/en.ts index 851151118..b57d1aaaf 100644 --- a/core/messages/organize/en.ts +++ b/core/messages/organize/en.ts @@ -3,29 +3,28 @@ import { i18n } from '../../i18n.ts' export const organizeMessages = i18n('organize', { addCategory: 'Add category…', addFilter: 'Add filter', - byCategoryTitle: 'Feeds by Category', + byCategoryTitle: 'Feeds by category', category: 'Category', categoryName: 'Category name', - deleteCategory: 'Delete', + deleteCategory: 'Delete category', deleteCategoryConform: - 'All feeds in this category will be moved to General. Are you sure?', + 'All feeds in this category will be moved to General. Are you sure you want to continue?', deleteConform: - 'We will delete feed statistics and posts. ' + - 'It cannot be undone. Are you sure?', - deleteFeed: 'Delete', + 'This will permanently delete the feed, including its statistics and posts. Are you sure?', + deleteFeed: 'Delete feed', deleteFilter: 'Delete filter', - fast: 'Fast-food reading (fun, but not useful)', + fast: 'Fast reading (fun but not deep)', filterAction: 'Filter action', filterActionDelete: 'Delete post', - filterActionFast: 'Move to fast', - filterActionSlow: 'Move to slow', + filterActionFast: 'Move to Fast reading', + filterActionSlow: 'Move to Slow reading', filterQuery: 'Filter query', - invalidFilter: 'Filter query is invalid', + invalidFilter: 'Invalid filter query', moveFilterDown: 'Move down', moveFilterUp: 'Move up', - name: 'Feed Name', - renameCategory: 'Rename', - slow: 'Slow reading (deep and useful)', + name: 'Feed name', + renameCategory: 'Rename category', + slow: 'Slow reading (deep and meaningful)', type: 'Feed type', url: 'Feed URL' }) diff --git a/core/messages/profile/en.ts b/core/messages/profile/en.ts index 7efa3fa99..7f513ca68 100644 --- a/core/messages/profile/en.ts +++ b/core/messages/profile/en.ts @@ -2,17 +2,17 @@ import { i18n } from '../../i18n.ts' export const profileMessages = i18n('profile', { createAccount: 'Create cloud account', - dangerousTitle: 'Dangerous', + dangerousTitle: 'Dangerous action', deleteAccount: 'Delete your data from the cloud', - deleteWarning: 'You can’t restore delete data. Are you sure?', + deleteWarning: 'This action cannot be undone. Are you sure you want to delete your data?', exit: 'Sign out on this device', - exitNoCloud: 'Delete all your data', - exitWaitSync: 'Delete unsaved data & sign out', + exitNoCloud: 'Delete all local data', + exitWaitSync: 'Delete unsaved data and sign out', noCloudDesc1: - 'You don’t have cloud account and the data is stored just on this machine.', + 'You don’t have a cloud account. Your data is stored only on this device.', noCloudDesc2: - 'If you want to have the same account on other device or backup data, you need to create cloud account.', - noCloudTitle: 'No Cloud', + 'To use the same account on another device or back up your data, create a cloud account.', + noCloudTitle: 'No cloud account', pageTitle: 'Profile', userId: 'User ID' }) diff --git a/core/messages/settings/en.ts b/core/messages/settings/en.ts index 05638f752..247667f1d 100644 --- a/core/messages/settings/en.ts +++ b/core/messages/settings/en.ts @@ -1,16 +1,16 @@ import { i18n } from '../../i18n.ts' export const settingsMessages = i18n('settings', { - about: 'About the App', + about: 'About the app', applicationInterface: 'Application', commonTitle: 'Settings', deleteProfile: 'Delete all data', - deleteProfileConfirm: 'Data deletion cannot be undone. Are you sure?', - downloadTitle: 'Feed Loadings', - interfaceTitle: 'UI', + deleteProfileConfirm: 'This action cannot be undone. Are you sure you want to delete all data?', + downloadTitle: 'Feed loading', + interfaceTitle: 'Interface', preloadAlways: 'Always', preloadFree: 'Wi-Fi', - preloadImages: 'Preload posts images', + preloadImages: 'Preload post images', preloadNever: 'Never', profile: 'Profile', systemDisabledAnimations: 'Animations are disabled in system', @@ -18,6 +18,6 @@ export const settingsMessages = i18n('settings', { themeDark: 'Dark', themeLight: 'Light', themeSystem: 'System', - useAnimations: 'Use animations', - usePointer: 'Use cursor reactions' + useAnimations: 'Enable animations', + usePointer: 'Enable cursor effects' }) diff --git a/core/messages/slow/en.ts b/core/messages/slow/en.ts index 2c3ae6067..a69472eb3 100644 --- a/core/messages/slow/en.ts +++ b/core/messages/slow/en.ts @@ -1,7 +1,7 @@ import { i18n } from '../../i18n.ts' export const slowMessages = i18n('slow', { - noPosts: 'No posts', + noPosts: 'No posts yet', pageTitle: 'Slow reading', posts: 'posts' }) diff --git a/web-archive/pages/feeds/import.svelte b/web-archive/pages/feeds/import.svelte index 43000117e..cece826fd 100644 --- a/web-archive/pages/feeds/import.svelte +++ b/web-archive/pages/feeds/import.svelte @@ -72,7 +72,7 @@ {#if Object.entries($importLoadingFeeds).length && $importReading} -

{$t.loadProccess}

+

{$t.loadProcess}