diff --git a/LICENSE b/LICENSE
index 1e339801be..f50e3d31a7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022-2024 SIL International
+Copyright © 2022-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index c0567a03a9..d6acf60c8a 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
Extensible Bible translation software
@@ -16,15 +16,15 @@ Extensible Bible translation software
## Summary
-Platform.Bible is an extensible Bible translation software. Its functionality is provided almost completely by extensions in order to be very powerful and flexible, giving developers the freedom to create and to share their desired Bible translation experience.
+Platform.Bible is extensible Bible translation software. Its functionality is provided almost completely by extensions in order to be very powerful and flexible, giving developers the freedom to create and to share their desired Bible translation experience.
-This repository contains the core Platform.Bible software (Electron client, extension host including "PAPI", and .NET library) and the extensions that come bundled with it. There are many other repositories containing additional Platform.Bible extensions.
+This repository contains the core Platform.Bible software (Electron client, extension host including "PAPI", and .NET library) and the extensions that come bundled with it. There are many other repositories containing additional extensions.
## Users
This software is not yet ready for users. We'll update here with where you can install it when it is ready.
-If you would still like to try Platform.Bible, you can [download early releases here on GitHub](https://github.com/paranext/paranext-core/releases).
+If you would still like to try it, you can [download early releases here on GitHub](https://github.com/paranext/paranext-core/releases).
### Linux Users
@@ -42,9 +42,9 @@ If you download and run the ARM release of Platform.Bible from [a computer runni
![mac-arm-damaged-warning](doc-meta/mac-arm-damaged-warning.png)
-Unfortunately, this is the message Apple chose to display for ARM applications that are not signed (including Platform.Bible since we have not yet set up application code signing on Mac).
+Unfortunately, this is the message Apple chose to display for ARM applications that are not signed (including Platform.Bible, since we have not yet set up application code signing on Mac).
-If you trust Platform.Bible and would like to run it even though it is not code signed, you will need to run the following terminal command every time you install a new version of Platform.Bible:
+If you trust Platform.Bible and would like to run it even though it is not code signed, you will need to run the following terminal command every time you install a new version of it:
`xattr -c /Applications/Platform.Bible.app`
diff --git a/assets/Lockup Inline.svg b/assets/Lockup Inline.svg
new file mode 100644
index 0000000000..769726f7aa
--- /dev/null
+++ b/assets/Lockup Inline.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/icon.png b/assets/icon.png
index 5ef63f3605..54092c67a7 100644
Binary files a/assets/icon.png and b/assets/icon.png differ
diff --git a/assets/icon.svg b/assets/icon.svg
index 0d7b18bfb0..ca69efdab9 100644
--- a/assets/icon.svg
+++ b/assets/icon.svg
@@ -1,35 +1,90 @@
-
-
\ No newline at end of file
+
diff --git a/assets/localization/en.json b/assets/localization/en.json
index 7e27989bb5..52b1970fea 100644
--- a/assets/localization/en.json
+++ b/assets/localization/en.json
@@ -1,7 +1,9 @@
{
"%product_name%": "Platform.Bible",
+ "%about_versionLabel_format%": "Version: {version}",
+ "%about_licenseLabel_format%": "License: {license}",
"%insertNote%": "Insert Note",
- "%mainMenu_aboutPlatformBible%": "About Platform.Bible",
+ "%mainMenu_about%": "About Platform.Bible",
"%mainMenu_downloadSlashInstallResources%": "Download/Install Resources",
"%mainMenu_downloadSlashUpdateProject%": "Download/Update Project",
"%mainMenu_exit%": "Exit",
diff --git a/assets/localization/es.json b/assets/localization/es.json
new file mode 100644
index 0000000000..c6ee1ad7ec
--- /dev/null
+++ b/assets/localization/es.json
@@ -0,0 +1,27 @@
+{
+ "%about_versionLabel_format%": "Versión: {version}",
+ "%about_licenseLabel_format%": "Licencia: {license}",
+ "%insertNote%": "Insertar Nota",
+ "%mainMenu_aboutPlatformBible%": "Acerca de Platform.Bible",
+ "%mainMenu_downloadSlashInstallResources%": "Descargar/instalar recursos",
+ "%mainMenu_downloadSlashUpdateProject%": "Descargar/actualizar proyecto",
+ "%mainMenu_exit%": "Salir",
+ "%mainMenu_help%": "Ayuda",
+ "%mainMenu_layout%": "Diseño",
+ "%mainMenu_openProject%": "Abrir proyecto",
+ "%mainMenu_project%": "Proyecto",
+ "%mainMenu_settings%": "Configuración",
+ "%mainMenu_visitSupportBible%": "Visitar Support.Bible",
+ "%mainMenu_window%": "Ventana",
+ "%some_localization_key%": "Esto es el texto en español para %some_localization_key%.",
+ "%submitButton%": "Enviar",
+ "%webView_edit%": "Editar",
+ "%webView_openProjectSettings%": "Abrir configuraciones del proyecto",
+ "%webView_project%": "Proyecto",
+ "%webView_projectAssignmentsAndProgress%": "Asignaciones y progreso",
+ "%wordList%": "Lista de palabras",
+ "%settings_platform_group1_label%": "Configuraciones de Platform",
+ "%settings_platform_group1_description%": "Configuraciones generales del software fundamental",
+ "%settings_platform_interfaceLanguage_label%": "Idioma de interfaz",
+ "%settings_platform_interfaceLanguage_description%": "Lista de locales usados al localizar la interfaz en orden descendente de prioridad. 'en' (inglés) siempre se añade al final, de modo que si no se encuentra una traducción en ninguno de los idiomas especificados, aparecerá en inglés."
+}
diff --git a/cspell.json b/cspell.json
index 31284eff01..a9d28d0e13 100644
--- a/cspell.json
+++ b/cspell.json
@@ -10,6 +10,22 @@
"package-lock.json",
"vscode-extension"
],
+ "overrides": [
+ {
+ "filename": "**/fr.json",
+ "language": "fr",
+ "ignoreRegExpList": [
+ "\"%?[a-zA-Z0-9_]+%?\"\\s*:" // Do not spell-check JSON keys
+ ]
+ },
+ {
+ "filename": "**/es.json",
+ "language": "es",
+ "ignoreRegExpList": [
+ "\"%?[a-zA-Z0-9_]+%?\"\\s*:" // Do not spell-check JSON keys
+ ]
+ }
+ ],
"dictionaryDefinitions": [],
"dictionaries": [],
"words": [
diff --git a/electron-builder.json5 b/electron-builder.json5
index eef94b7079..d9aaf32201 100644
--- a/electron-builder.json5
+++ b/electron-builder.json5
@@ -4,7 +4,7 @@
{
productName: 'Platform.Bible',
appId: 'org.paranext.PlatformBible',
- copyright: 'Copyright (c) 2022-2024 SIL International',
+ copyright: 'Copyright © 2022-2024 SIL International',
asar: true,
asarUnpack: '**\\*.{node,dll}',
files: ['dist', 'node_modules', 'package.json'],
diff --git a/extensions/LICENSE b/extensions/LICENSE
index 1e339801be..f50e3d31a7 100644
--- a/extensions/LICENSE
+++ b/extensions/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022-2024 SIL International
+Copyright © 2022-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extensions/src/hello-someone/LICENSE b/extensions/src/hello-someone/LICENSE
index b945f91d07..851ff3e8d1 100644
--- a/extensions/src/hello-someone/LICENSE
+++ b/extensions/src/hello-someone/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 SIL International
+Copyright © 2023-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extensions/src/hello-world/LICENSE b/extensions/src/hello-world/LICENSE
index b945f91d07..851ff3e8d1 100644
--- a/extensions/src/hello-world/LICENSE
+++ b/extensions/src/hello-world/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 SIL International
+Copyright © 2023-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extensions/src/platform-scripture-editor/LICENSE b/extensions/src/platform-scripture-editor/LICENSE
index b945f91d07..851ff3e8d1 100644
--- a/extensions/src/platform-scripture-editor/LICENSE
+++ b/extensions/src/platform-scripture-editor/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 SIL International
+Copyright © 2023-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extensions/src/platform-scripture/LICENSE b/extensions/src/platform-scripture/LICENSE
index b945f91d07..851ff3e8d1 100644
--- a/extensions/src/platform-scripture/LICENSE
+++ b/extensions/src/platform-scripture/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 SIL International
+Copyright © 2023-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extensions/src/quick-verse/LICENSE b/extensions/src/quick-verse/LICENSE
index b945f91d07..851ff3e8d1 100644
--- a/extensions/src/quick-verse/LICENSE
+++ b/extensions/src/quick-verse/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023-2024 SIL International
+Copyright © 2023-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/papi-dts/LICENSE b/lib/papi-dts/LICENSE
index 1e339801be..f50e3d31a7 100644
--- a/lib/papi-dts/LICENSE
+++ b/lib/papi-dts/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022-2024 SIL International
+Copyright © 2022-2024 SIL International
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/papi-dts/papi.d.ts b/lib/papi-dts/papi.d.ts
index 48f291335a..ef3672f310 100644
--- a/lib/papi-dts/papi.d.ts
+++ b/lib/papi-dts/papi.d.ts
@@ -88,7 +88,7 @@ declare module 'shared/models/web-view.model' {
/**
* Url of image to show on the title bar of the tab
*
- * Defaults to Platform.Bible logo
+ * Defaults to the software's standard logo.
*/
iconUrl?: string;
/** Name of the tab for the WebView */
@@ -3024,7 +3024,7 @@ declare module 'shared/models/docking-framework.model' {
/**
* Url of image to show on the title bar of the tab
*
- * Defaults to Platform.Bible logo
+ * Defaults to the software's standard logo.
*/
tabIconUrl?: string;
/** Text to show on the title bar of the tab */
diff --git a/lib/platform-bible-react/src/components/advanced/inventory/inventory.component.tsx b/lib/platform-bible-react/src/components/advanced/inventory/inventory.component.tsx
index eab89dda41..49c26f3b82 100644
--- a/lib/platform-bible-react/src/components/advanced/inventory/inventory.component.tsx
+++ b/lib/platform-bible-react/src/components/advanced/inventory/inventory.component.tsx
@@ -19,9 +19,8 @@ import { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon } from 'lucide-react';
/**
* Object containing all keys used for localization in this component. If you're using this
- * component in Platform.Bible extension, you can pass it into the useLocalizedStrings hook to
- * easily obtain the localized strings and pass them into the localizedStrings prop of the Inventory
- * component
+ * component in an extension, you can pass it into the useLocalizedStrings hook to easily obtain the
+ * localized strings and pass them into the localizedStrings prop of the Inventory component
*/
export const INVENTORY_STRING_KEYS = Object.freeze([
'%webView_inventory_all%',
diff --git a/release/app/package.json b/release/app/package.json
index c599e56445..bc2ad6118e 100644
--- a/release/app/package.json
+++ b/release/app/package.json
@@ -4,7 +4,7 @@
"description": "Extensible Bible translation software",
"license": "MIT",
"author": {
- "name": "Platform.Bible",
+ "name": "Platform",
"url": "https://github.com/paranext/"
},
"main": "./dist/main/main.js",
diff --git a/src/extension-host/data/menu.data.json b/src/extension-host/data/menu.data.json
index 8d5d1fdd96..6b720f1f59 100644
--- a/src/extension-host/data/menu.data.json
+++ b/src/extension-host/data/menu.data.json
@@ -54,8 +54,8 @@
"command": "platform.visitSupportPage"
},
{
- "label": "%mainMenu_aboutPlatformBible%",
- "localizeNotes": "Application main menu > Help > About Platform.Bible",
+ "label": "%mainMenu_about%",
+ "localizeNotes": "Application main menu > Help > About (Platform.Bible or Software white-label name)",
"group": "platform.helpMisc",
"order": 2,
"command": "platform.about"
diff --git a/src/renderer/app.component.scss b/src/renderer/app.component.scss
index 9e1b0df4ea..8b3d497a54 100644
--- a/src/renderer/app.component.scss
+++ b/src/renderer/app.component.scss
@@ -46,7 +46,7 @@ a:hover {
text-decoration: none;
}
-.hello {
+.about {
display: flex;
flex-direction: column;
justify-content: center;
@@ -66,11 +66,11 @@ a:hover {
overflow-y: auto;
}
-.about-panel .hello {
+.about-panel .test-panel {
color: white;
}
-.hello > div {
+.test-panel > div {
text-align: center;
}
diff --git a/src/renderer/components/docking/platform-tab-title.component.tsx b/src/renderer/components/docking/platform-tab-title.component.tsx
index daed009374..07a23ba513 100644
--- a/src/renderer/components/docking/platform-tab-title.component.tsx
+++ b/src/renderer/components/docking/platform-tab-title.component.tsx
@@ -11,7 +11,7 @@ type PlatformTabTitleProps = {
webViewType?: `${string}.${string}`;
/** Id of the tab this title is on */
tabId: string;
- /** Url to image to show on the tab. Defaults to Platform.Bible logo */
+ /** Url to image to show on the tab. Defaults to the software's standard logo. */
iconUrl?: string;
/** Text to show on the tab */
text: string;
@@ -22,7 +22,7 @@ type PlatformTabTitleProps = {
/**
* Custom tab title for all tabs in Platform
*
- * @param iconUrl Url to image to show on the tab. Defaults to Platform.Bible logo
+ * @param iconUrl Url to image to show on the tab. Defaults to the software's standard logo.
* @param text The text to show on the tab title
* @param tooltip Text to show when hovering over the tab. Defaults to empty string
*/
diff --git a/src/renderer/testing/about-panel.component.tsx b/src/renderer/testing/about-panel.component.tsx
index 93d46f174e..a9da49b96a 100644
--- a/src/renderer/testing/about-panel.component.tsx
+++ b/src/renderer/testing/about-panel.component.tsx
@@ -1,22 +1,37 @@
-import icon from '@assets/icon.png';
import { useLocalizedStrings } from '@renderer/hooks/papi-hooks';
import { SavedTabInfo, TabInfo } from '@shared/models/docking-framework.model';
-import { LocalizeKey } from 'platform-bible-utils';
+import { ReactComponent as InlineLogoAndName } from '@assets/Lockup Inline.svg';
+import { formatReplacementString, LocalizeKey } from 'platform-bible-utils';
+import PackageInfo from '../../../release/app/package.json';
export const TAB_TYPE_ABOUT = 'about';
-const STRING_KEYS: LocalizeKey[] = ['%product_name%'];
+const STRING_KEYS: LocalizeKey[] = [
+ '%product_name%',
+ '%about_versionLabel_format%',
+ '%about_licenseLabel_format%',
+];
export default function AboutPanel() {
- const [{ '%product_name%': productName }] = useLocalizedStrings(STRING_KEYS);
+ const [
+ {
+ '%product_name%': productName,
+ '%about_versionLabel_format%': versionLabelFormat,
+ '%about_licenseLabel_format%': licenseLabelFormat,
+ },
+ ] = useLocalizedStrings(STRING_KEYS);
+
+ // logger.info());
return (
-
-
-
-
+
+
{productName}
+
Copyright © 2022-2024 SIL International
+
{formatReplacementString(versionLabelFormat, PackageInfo)}
+
{formatReplacementString(licenseLabelFormat, PackageInfo)}
+
{PackageInfo.description}
);
diff --git a/src/renderer/testing/test-buttons-panel.component.tsx b/src/renderer/testing/test-buttons-panel.component.tsx
index 43a6c1d8c2..1d4a977938 100644
--- a/src/renderer/testing/test-buttons-panel.component.tsx
+++ b/src/renderer/testing/test-buttons-panel.component.tsx
@@ -164,7 +164,7 @@ export default function TestButtonsPanel() {
return (
-
+
-
diff --git a/src/renderer/testing/test-quick-verse-heresy-panel.component.tsx b/src/renderer/testing/test-quick-verse-heresy-panel.component.tsx
index aa9c798fa7..358ef68986 100644
--- a/src/renderer/testing/test-quick-verse-heresy-panel.component.tsx
+++ b/src/renderer/testing/test-quick-verse-heresy-panel.component.tsx
@@ -34,7 +34,7 @@ export function TestQuickVerseHeresyPanel() {
return (