From bb75e2774e246d05d87e6c43be9bfa78a3eeead2 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Tue, 12 Nov 2024 21:27:19 +0900 Subject: [PATCH 1/9] Enable language dropdown menu --- docusaurus.config.js | 51 +++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 21a524e3..0e529f50 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -29,26 +29,26 @@ const config = { // Even if you don't use internationalization, you can use this field to set // useful metadata like html lang. For example, if your site is Chinese, you // may want to replace "en" with "zh-Hans". - // i18n: { - // defaultLocale: 'en-us', - // locales: ['en-us', 'ja-jp'], - // localeConfigs: { - // 'en-us': { - // label: 'English', - // direction: 'ltr', - // htmlLang: 'en-US', - // calendar: 'gregory', - // path: 'versioned_docs/en-us', - // }, - // 'ja-jp': { - // label: '日本語', - // direction: 'ltr', - // htmlLang: 'ja-JP', - // calendar: 'gregory', - // path: 'versioned_docs/ja-jp', - // }, - // }, - // }, + i18n: { + defaultLocale: 'en-us', + locales: ['en-us', 'ja-jp'], + localeConfigs: { + 'en-us': { + label: 'English', + direction: 'ltr', + htmlLang: 'en-US', + calendar: 'gregory', + path: 'versioned_docs/en-us', + }, + 'ja-jp': { + label: '日本語', + direction: 'ltr', + htmlLang: 'ja-JP', + calendar: 'gregory', + path: 'versioned_docs/ja-jp', + }, + }, + }, presets: [ [ @@ -314,19 +314,16 @@ const config = { position: 'right', label: 'Scalar Docs Home', }, + { + type: 'localeDropdown', + position: 'right', + }, { href: 'https://github.com/scalar-labs/scalardb', position: 'right', className: 'header-github-link', 'aria-label': 'GitHub repository', }, - /* - The "localeDropdown" configuration should be uncommented (enabled) after we create Japanese versions of docs. - */ - // { - // type: 'localeDropdown', - // position: 'right', - // }, ], }, algolia: { From 7e8be4b4d9477ba69918f2e1ca6fd6463eca76ec Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Tue, 12 Nov 2024 21:29:52 +0900 Subject: [PATCH 2/9] Make specific versions show language dropdown menu Add a conditional statement where only certain versions specified in `docusaurus.config.js` should show language dropdown menu. --- .../LocaleDropdownNavbarItem/index.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js diff --git a/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js b/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js new file mode 100644 index 00000000..d1df68a0 --- /dev/null +++ b/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import {useLocation} from '@docusaurus/router'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import LocaleDropdownNavbarItem from '@theme-original/NavbarItem/LocaleDropdownNavbarItem'; + +export default function CustomLocaleDropdownNavbarItem(props) { + const {pathname} = useLocation(); + const {siteConfig} = useDocusaurusContext(); + const allowedVersions = siteConfig.customFields.allowedLanguageDropdownVersions; + + // Extract the version from the pathname, e.g., "/docs/latest/" or "/docs/3.13/". + const versionMatch = pathname.match(/\/docs\/([^/]+)\//); + const currentVersion = versionMatch ? versionMatch[1] : null; + + // Show the language dropdown only if the version is allowed. + const shouldShowDropdown = currentVersion && allowedVersions.includes(currentVersion); + + return shouldShowDropdown ? : null; +} From e034c21b4a0f88f329c40cf3023da67d73c91fa3 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Tue, 12 Nov 2024 21:31:33 +0900 Subject: [PATCH 3/9] Add custom field (`allowedLanguageDropdownVersions`) The custom field `allowedLanguageDropdownVersions` specifies which versions of docs should show the language dropdown menu. This custom field is based on the conditional statements in `src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js`. --- docusaurus.config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 0e529f50..d2e51231 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -143,6 +143,11 @@ const config = { ], ], + // The following versions have Japanese docs, so the language dropdown should be displayed only when visitors are reading these versions of docs. + customFields: { + allowedLanguageDropdownVersions: ["current", "latest", "3.13"], + }, + plugins: [ [ '@docusaurus/plugin-client-redirects', From 8a82fb2b76e3feee6720418c70672b3c97effa1f Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Wed, 13 Nov 2024 21:16:07 +0900 Subject: [PATCH 4/9] Redirect visitors on versions without Japanese docs If a version doesn't have Japanese docs, redirect visitors to the English page and URL. Without this fix, visitors would see English content with Japanese UI elements on a link with `ja-jp` in the URL. --- .../LocaleDropdownNavbarItem/index.js | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js b/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js index d1df68a0..94b88d88 100644 --- a/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +++ b/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.js @@ -1,18 +1,33 @@ -import React from 'react'; -import {useLocation} from '@docusaurus/router'; +import React, { useEffect } from 'react'; +import { useLocation, useHistory } from '@docusaurus/router'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import LocaleDropdownNavbarItem from '@theme-original/NavbarItem/LocaleDropdownNavbarItem'; export default function CustomLocaleDropdownNavbarItem(props) { - const {pathname} = useLocation(); - const {siteConfig} = useDocusaurusContext(); + const { pathname } = useLocation(); + const history = useHistory(); + const { siteConfig } = useDocusaurusContext(); + const allowedVersions = siteConfig.customFields.allowedLanguageDropdownVersions; + const redirectToEnglishVersions = ['3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12']; + + // Extract the language, version, and remaining path from the pathname. + const versionMatch = pathname.match(/\/(ja-jp\/)?docs\/([^/]+)(\/.*)?/); + const isJapanese = versionMatch && versionMatch[1] === 'ja-jp/'; + const currentVersion = versionMatch ? versionMatch[2] : null; + const remainingPath = versionMatch && versionMatch[3] ? versionMatch[3] : ''; + + useEffect(() => { + const handleRedirect = () => { + if (isJapanese && redirectToEnglishVersions.includes(currentVersion)) { + // Full redirect to ensure page is correctly loaded + window.location.replace(`/docs/${currentVersion}${remainingPath}`); + } + }; - // Extract the version from the pathname, e.g., "/docs/latest/" or "/docs/3.13/". - const versionMatch = pathname.match(/\/docs\/([^/]+)\//); - const currentVersion = versionMatch ? versionMatch[1] : null; + handleRedirect(); + }, [pathname, isJapanese, currentVersion, remainingPath]); - // Show the language dropdown only if the version is allowed. const shouldShowDropdown = currentVersion && allowedVersions.includes(currentVersion); return shouldShowDropdown ? : null; From 6b43aaff0403a7de2230d188bd5a44a7535b1bb0 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Wed, 13 Nov 2024 21:18:05 +0900 Subject: [PATCH 5/9] Show Google Translate widget only on 3.4 to 3.12 Since ScalarDB 3.13 and later will have Japanese versions of docs, the Google Translate widget should still appear at the top of the page for earlier versions. --- src/theme/NavbarItem/HtmlNavbarItem.tsx | 100 ++++++++++++++---------- 1 file changed, 57 insertions(+), 43 deletions(-) diff --git a/src/theme/NavbarItem/HtmlNavbarItem.tsx b/src/theme/NavbarItem/HtmlNavbarItem.tsx index 2b58ea60..a9dd1f0e 100644 --- a/src/theme/NavbarItem/HtmlNavbarItem.tsx +++ b/src/theme/NavbarItem/HtmlNavbarItem.tsx @@ -5,50 +5,38 @@ * LICENSE file in the root directory of this source tree. */ -import React, {useEffect} from 'react'; +import React, { useEffect } from 'react'; import clsx from 'clsx'; - -import type {Props} from '@theme/NavbarItem/HtmlNavbarItem'; +import { useLocation } from '@docusaurus/router'; +import type { Props } from '@theme/NavbarItem/HtmlNavbarItem'; function loadGoogleTranslateScript() { if (typeof window !== "undefined" && typeof document !== "undefined") { - const addScript = document.createElement('script'); - addScript.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; - addScript.async = true; - document.body.appendChild(addScript); - window.googleTranslateElementInit = async function () { - // Function to initialize the Google Translate widget - const initGoogleTranslate = () => { - new google.translate.TranslateElement( - { pageLanguage: 'en', includedLanguages: 'ja' }, - 'google_translate_element' - ); - }; + // Check if the script is already added. + const existingScript = document.getElementById('google-translate-script'); + if (!existingScript) { + const addScript = document.createElement('script'); + addScript.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; + addScript.async = true; + addScript.id = 'google-translate-script'; // Assign unique id. + document.body.appendChild(addScript); + } + } +} - // Function will wait for element id to be available - const waitForElement = () => { - return new Promise((resolve) => { - const checkElement = () => { - const targetElement = document.getElementById('google_translate_element'); - if (targetElement) { - // If the target element is available, resolve the Promise - resolve(); - } else { - // If the target element is not available, wait and check again - setTimeout(checkElement, 100); // Adjust the time delay as needed - } - }; - checkElement(); // Start checking for the element - }); - }; - - // Wait for the target element to be available before initializing the widget - await waitForElement(); - initGoogleTranslate(); - }; - +function initializeGoogleTranslate() { + // Check if window.google is available. + if (typeof window !== 'undefined' && window.google) { + const targetElement = document.getElementById('google_translate_element'); + if (targetElement && !window.googleTranslateElement) { + window.googleTranslateElement = new window.google.translate.TranslateElement( + { pageLanguage: 'en', includedLanguages: 'ja' }, + 'google_translate_element' + ); + } } } + export default function HtmlNavbarItem({ value, className, @@ -56,13 +44,39 @@ export default function HtmlNavbarItem({ isDropdownItem = false, }: Props): JSX.Element { const Comp = isDropdownItem ? 'li' : 'div'; + const { pathname } = useLocation(); + + // List of specific versions to show Google Translate. + const allowedVersions = ['3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12']; + + // Extract the version from the pathname, ignoring "latest" and "current". + const versionMatch = pathname.match(/\/docs\/(\d+\.\d+)\//); + const currentVersion = versionMatch ? versionMatch[1] : null; + useEffect(() => { - if(process.env.NODE_ENV !== 'development') { - loadGoogleTranslateScript(); + // Only load and initialize Google Translate if the version is in allowedVersions. + if (currentVersion && allowedVersions.includes(currentVersion)) { + loadGoogleTranslateScript(); + window.googleTranslateElementInit = initializeGoogleTranslate; } else { - console.log('Google Translate Not loaded in Dev'); + // Clear the element content if it's not an allowed version. + const existingElement = document.getElementById('google_translate_element'); + if (existingElement) { + existingElement.innerHTML = ''; // Clear the element content. + } + + // Reset Google Translate instance. + if (window.googleTranslateElement) { + window.googleTranslateElement = null; + } } - },[]); + }, [currentVersion, allowedVersions]); + + // If the version is not in allowedVersions, return an empty div. + if (currentVersion && !allowedVersions.includes(currentVersion)) { + return null; + } + return ( ); -} \ No newline at end of file +} From bffa14800b337fede86ce3d2c56e8d1ab21f7442 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Thu, 14 Nov 2024 19:08:33 +0900 Subject: [PATCH 6/9] Fix Google Translate widget not reappearing on versions This commit fixes an issue with the Google Translate widget not reappearing when navigating from a version that has Japanese docs (like 3.13), to a version that doesn't have Japanese docs (like 3.12), then moving back to a version that has Japanese docs, (like 3.13), and then back to a version that doesn't have Japanese docs (like 3.11). --- src/theme/NavbarItem/HtmlNavbarItem.tsx | 67 ++++++++++++++----------- 1 file changed, 39 insertions(+), 28 deletions(-) diff --git a/src/theme/NavbarItem/HtmlNavbarItem.tsx b/src/theme/NavbarItem/HtmlNavbarItem.tsx index a9dd1f0e..42a812a2 100644 --- a/src/theme/NavbarItem/HtmlNavbarItem.tsx +++ b/src/theme/NavbarItem/HtmlNavbarItem.tsx @@ -10,33 +10,46 @@ import clsx from 'clsx'; import { useLocation } from '@docusaurus/router'; import type { Props } from '@theme/NavbarItem/HtmlNavbarItem'; -function loadGoogleTranslateScript() { - if (typeof window !== "undefined" && typeof document !== "undefined") { - // Check if the script is already added. +function loadGoogleTranslateScript(callback: () => void) { + if (typeof window !== 'undefined' && typeof document !== 'undefined') { const existingScript = document.getElementById('google-translate-script'); if (!existingScript) { const addScript = document.createElement('script'); addScript.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'; addScript.async = true; - addScript.id = 'google-translate-script'; // Assign unique id. + addScript.id = 'google-translate-script'; + addScript.onload = callback; // Trigger callback once loaded. document.body.appendChild(addScript); + } else { + callback(); // Script already exists, proceed to callback directly. } } } function initializeGoogleTranslate() { - // Check if window.google is available. - if (typeof window !== 'undefined' && window.google) { + if (typeof window !== 'undefined' && window.google && window.google.translate) { const targetElement = document.getElementById('google_translate_element'); if (targetElement && !window.googleTranslateElement) { - window.googleTranslateElement = new window.google.translate.TranslateElement( - { pageLanguage: 'en', includedLanguages: 'ja' }, - 'google_translate_element' - ); + try { + window.googleTranslateElement = new window.google.translate.TranslateElement( + { pageLanguage: 'en', includedLanguages: 'ja' }, + 'google_translate_element' + ); + } catch (error) { + console.error('Error initializing Google Translate:', error); + } } } } +function removeGoogleTranslateWidget() { + const existingElement = document.getElementById('google_translate_element'); + if (existingElement) existingElement.innerHTML = ''; // Clear content. + const script = document.getElementById('google-translate-script'); + if (script) script.remove(); // Remove the Google Translate script. + window.googleTranslateElement = null; +} + export default function HtmlNavbarItem({ value, className, @@ -46,33 +59,31 @@ export default function HtmlNavbarItem({ const Comp = isDropdownItem ? 'li' : 'div'; const { pathname } = useLocation(); - // List of specific versions to show Google Translate. const allowedVersions = ['3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12']; - - // Extract the version from the pathname, ignoring "latest" and "current". const versionMatch = pathname.match(/\/docs\/(\d+\.\d+)\//); const currentVersion = versionMatch ? versionMatch[1] : null; useEffect(() => { - // Only load and initialize Google Translate if the version is in allowedVersions. if (currentVersion && allowedVersions.includes(currentVersion)) { - loadGoogleTranslateScript(); - window.googleTranslateElementInit = initializeGoogleTranslate; + // Ensure Google Translate script is loaded. + loadGoogleTranslateScript(() => { + if (!sessionStorage.getItem('googleTranslateInitialized')) { + window.googleTranslateElementInit = () => { + initializeGoogleTranslate(); + sessionStorage.setItem('googleTranslateInitialized', 'true'); + }; + } else { + initializeGoogleTranslate(); // Re-initialize if already loaded. + } + }); } else { - // Clear the element content if it's not an allowed version. - const existingElement = document.getElementById('google_translate_element'); - if (existingElement) { - existingElement.innerHTML = ''; // Clear the element content. - } - - // Reset Google Translate instance. - if (window.googleTranslateElement) { - window.googleTranslateElement = null; - } + // Clear widget if on an unallowed version. + removeGoogleTranslateWidget(); + sessionStorage.removeItem('googleTranslateInitialized'); } - }, [currentVersion, allowedVersions]); + }, [currentVersion]); - // If the version is not in allowedVersions, return an empty div. + // Hide component if version is not in allowed versions. if (currentVersion && !allowedVersions.includes(currentVersion)) { return null; } From fcad8c092adb7bdfd42da1a8bae4715a17e0c2f4 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:18:27 +0900 Subject: [PATCH 7/9] Update README.mdx --- .../current/scalar-licensing/README.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalar-licensing/README.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalar-licensing/README.mdx index eb2ea7a9..1a008662 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalar-licensing/README.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalar-licensing/README.mdx @@ -7,6 +7,8 @@ tags: # 製品ライセンスキーの設定方法 import TranslationBanner from '/src/components/_translation-ja-jp.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; From cf34dd352c8431cf4250865a9bcc0fb37cf8cce4 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:23:47 +0900 Subject: [PATCH 8/9] Create README.mdx --- .../version-3.13/scalar-licensing/README.mdx | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/scalar-licensing/README.mdx diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/scalar-licensing/README.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/scalar-licensing/README.mdx new file mode 100644 index 00000000..1a008662 --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.13/scalar-licensing/README.mdx @@ -0,0 +1,109 @@ +--- +tags: + - Enterprise Standard + - Enterprise Premium +--- + +# 製品ライセンスキーの設定方法 + +import TranslationBanner from '/src/components/_translation-ja-jp.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + +Scalar 製品を実行するには、`.properties` ファイルを作成し、製品のライセンスキーと証明書をそのファイルに追加する必要があります。 `.properties` ファイルで、使用している製品に基づいて次の構成のいずれかをコピーし、その内容を `.properties` ファイルに貼り付けて、`` をライセンスキーに置き換えます。 + +:::note + +ライセンスキーをお持ちでない場合は、[お問い合わせ](https://www.scalar-labs.com/contact)までご連絡ください。 + +::: + +:::warning + +トライアルライセンスを使用している場合は、使用している Scalar 製品をインターネットに接続する必要があります。トライアルライセンスが有効で期限が切れていないかどうかを確認するには、インターネット接続が必要です。 + +::: + +## ScalarDB + +使用している製品を選択して、製品のライセンスキーと証明書の構成を確認します。 + +### ScalarDB Enterprise Edition + + + + ```properties + scalar.db.cluster.node.licensing.license_key= + scalar.db.cluster.node.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICKzCCAdKgAwIBAgIIBXxj3s8NU+owCgYIKoZIzj0EAwIwbDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMSMwIQYDVQQDExplbnRlcnByaXNlLnNjYWxhci1sYWJzLmNv\nbTAeFw0yMzExMTYwNzExNTdaFw0yNDAyMTUxMzE2NTdaMGwxCzAJBgNVBAYTAkpQ\nMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2hpbmp1a3UxFTATBgNVBAoTDFNj\nYWxhciwgSW5jLjEjMCEGA1UEAxMaZW50ZXJwcmlzZS5zY2FsYXItbGFicy5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATJx5gvAr+GZAHcBpUvDFDsUlFo4GNw\npRfsntzwStIP8ac3dew7HT4KbGBWei0BvIthleaqpv0AEP7JT6eYAkNvo14wXDAO\nBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwG\nA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMIe+XuuZcnDX1c3TmUPlu3kNv/wMAoGCCqG\nSM49BAMCA0cAMEQCIGGlqKpgv+KW+Z1ZkjfMHjSGeUZKBLwfMtErVyc9aTdIAiAy\nvsZyZP6Or9o40x3l3pw/BT7wvy93Jm0T4vtVQH6Zuw==\n-----END CERTIFICATE----- + ``` + + + ```properties + scalar.db.cluster.node.licensing.license_key= + scalar.db.cluster.node.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICKzCCAdKgAwIBAgIIBXxj3s8NU+owCgYIKoZIzj0EAwIwbDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMSMwIQYDVQQDExplbnRlcnByaXNlLnNjYWxhci1sYWJzLmNv\nbTAeFw0yMzExMTYwNzExNTdaFw0yNDAyMTUxMzE2NTdaMGwxCzAJBgNVBAYTAkpQ\nMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2hpbmp1a3UxFTATBgNVBAoTDFNj\nYWxhciwgSW5jLjEjMCEGA1UEAxMaZW50ZXJwcmlzZS5zY2FsYXItbGFicy5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATJx5gvAr+GZAHcBpUvDFDsUlFo4GNw\npRfsntzwStIP8ac3dew7HT4KbGBWei0BvIthleaqpv0AEP7JT6eYAkNvo14wXDAO\nBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwG\nA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMIe+XuuZcnDX1c3TmUPlu3kNv/wMAoGCCqG\nSM49BAMCA0cAMEQCIGGlqKpgv+KW+Z1ZkjfMHjSGeUZKBLwfMtErVyc9aTdIAiAy\nvsZyZP6Or9o40x3l3pw/BT7wvy93Jm0T4vtVQH6Zuw==\n-----END CERTIFICATE----- + ``` + + + ```properties + scalar.db.cluster.node.licensing.license_key= + scalar.db.cluster.node.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICIzCCAcigAwIBAgIIKT9LIGX1TJQwCgYIKoZIzj0EAwIwZzELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMR4wHAYDVQQDExV0cmlhbC5zY2FsYXItbGFicy5jb20wHhcN\nMjMxMTE2MDcxMDM5WhcNMjQwMjE1MTMxNTM5WjBnMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xETAPBgNVBAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxTY2FsYXIs\nIEluYy4xHjAcBgNVBAMTFXRyaWFsLnNjYWxhci1sYWJzLmNvbTBZMBMGByqGSM49\nAgEGCCqGSM49AwEHA0IABBSkIYAk7r5FRDf5qRQ7dbD3ib5g3fb643h4hqCtK+lC\nwM4AUr+PPRoquAy+Ey2sWEvYrWtl2ZjiYyyiZw8slGCjXjBcMA4GA1UdDwEB/wQE\nAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw\nADAdBgNVHQ4EFgQUbFyOWFrsjkkOvjw6vK3gGUADGOcwCgYIKoZIzj0EAwIDSQAw\nRgIhAKwigOb74z9BdX1+dUpeVG8WrzLTIqdIU0w+9jhAueXoAiEA6cniJ3qsP4j7\nsck62kHnFpH1fCUOc/b/B8ZtfeXI2Iw=\n-----END CERTIFICATE----- + ``` + + + +### ScalarDB Analytics with Spark + + + + ```apacheconf + spark.sql.catalog.scalardb_catalog.license.key + spark.sql.catalog.scalardb_catalog.license.cert_pem -----BEGIN CERTIFICATE-----\nMIICKzCCAdKgAwIBAgIIBXxj3s8NU+owCgYIKoZIzj0EAwIwbDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMSMwIQYDVQQDExplbnRlcnByaXNlLnNjYWxhci1sYWJzLmNv\nbTAeFw0yMzExMTYwNzExNTdaFw0yNDAyMTUxMzE2NTdaMGwxCzAJBgNVBAYTAkpQ\nMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2hpbmp1a3UxFTATBgNVBAoTDFNj\nYWxhciwgSW5jLjEjMCEGA1UEAxMaZW50ZXJwcmlzZS5zY2FsYXItbGFicy5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATJx5gvAr+GZAHcBpUvDFDsUlFo4GNw\npRfsntzwStIP8ac3dew7HT4KbGBWei0BvIthleaqpv0AEP7JT6eYAkNvo14wXDAO\nBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwG\nA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMIe+XuuZcnDX1c3TmUPlu3kNv/wMAoGCCqG\nSM49BAMCA0cAMEQCIGGlqKpgv+KW+Z1ZkjfMHjSGeUZKBLwfMtErVyc9aTdIAiAy\nvsZyZP6Or9o40x3l3pw/BT7wvy93Jm0T4vtVQH6Zuw==\n-----END CERTIFICATE----- + ``` + + + ```apacheconf + spark.sql.catalog.scalardb_catalog.license.key + spark.sql.catalog.scalardb_catalog.license.cert_pem -----BEGIN CERTIFICATE-----\nMIICIzCCAcigAwIBAgIIKT9LIGX1TJQwCgYIKoZIzj0EAwIwZzELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMR4wHAYDVQQDExV0cmlhbC5zY2FsYXItbGFicy5jb20wHhcN\nMjMxMTE2MDcxMDM5WhcNMjQwMjE1MTMxNTM5WjBnMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xETAPBgNVBAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxTY2FsYXIs\nIEluYy4xHjAcBgNVBAMTFXRyaWFsLnNjYWxhci1sYWJzLmNvbTBZMBMGByqGSM49\nAgEGCCqGSM49AwEHA0IABBSkIYAk7r5FRDf5qRQ7dbD3ib5g3fb643h4hqCtK+lC\nwM4AUr+PPRoquAy+Ey2sWEvYrWtl2ZjiYyyiZw8slGCjXjBcMA4GA1UdDwEB/wQE\nAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw\nADAdBgNVHQ4EFgQUbFyOWFrsjkkOvjw6vK3gGUADGOcwCgYIKoZIzj0EAwIDSQAw\nRgIhAKwigOb74z9BdX1+dUpeVG8WrzLTIqdIU0w+9jhAueXoAiEA6cniJ3qsP4j7\nsck62kHnFpH1fCUOc/b/B8ZtfeXI2Iw=\n-----END CERTIFICATE----- + ``` + + + +## ScalarDL + +使用している製品を選択して、製品のライセンスキーと証明書の構成を確認します。 + +### ScalarDL Ledger + + + + ```properties + scalar.dl.licensing.license_key= + scalar.dl.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICKzCCAdKgAwIBAgIIBXxj3s8NU+owCgYIKoZIzj0EAwIwbDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMSMwIQYDVQQDExplbnRlcnByaXNlLnNjYWxhci1sYWJzLmNv\nbTAeFw0yMzExMTYwNzExNTdaFw0yNDAyMTUxMzE2NTdaMGwxCzAJBgNVBAYTAkpQ\nMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2hpbmp1a3UxFTATBgNVBAoTDFNj\nYWxhciwgSW5jLjEjMCEGA1UEAxMaZW50ZXJwcmlzZS5zY2FsYXItbGFicy5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATJx5gvAr+GZAHcBpUvDFDsUlFo4GNw\npRfsntzwStIP8ac3dew7HT4KbGBWei0BvIthleaqpv0AEP7JT6eYAkNvo14wXDAO\nBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwG\nA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMIe+XuuZcnDX1c3TmUPlu3kNv/wMAoGCCqG\nSM49BAMCA0cAMEQCIGGlqKpgv+KW+Z1ZkjfMHjSGeUZKBLwfMtErVyc9aTdIAiAy\nvsZyZP6Or9o40x3l3pw/BT7wvy93Jm0T4vtVQH6Zuw==\n-----END CERTIFICATE----- + ``` + + + ```properties + scalar.dl.licensing.license_key= + scalar.dl.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICIzCCAcigAwIBAgIIKT9LIGX1TJQwCgYIKoZIzj0EAwIwZzELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMR4wHAYDVQQDExV0cmlhbC5zY2FsYXItbGFicy5jb20wHhcN\nMjMxMTE2MDcxMDM5WhcNMjQwMjE1MTMxNTM5WjBnMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xETAPBgNVBAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxTY2FsYXIs\nIEluYy4xHjAcBgNVBAMTFXRyaWFsLnNjYWxhci1sYWJzLmNvbTBZMBMGByqGSM49\nAgEGCCqGSM49AwEHA0IABBSkIYAk7r5FRDf5qRQ7dbD3ib5g3fb643h4hqCtK+lC\nwM4AUr+PPRoquAy+Ey2sWEvYrWtl2ZjiYyyiZw8slGCjXjBcMA4GA1UdDwEB/wQE\nAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw\nADAdBgNVHQ4EFgQUbFyOWFrsjkkOvjw6vK3gGUADGOcwCgYIKoZIzj0EAwIDSQAw\nRgIhAKwigOb74z9BdX1+dUpeVG8WrzLTIqdIU0w+9jhAueXoAiEA6cniJ3qsP4j7\nsck62kHnFpH1fCUOc/b/B8ZtfeXI2Iw=\n-----END CERTIFICATE----- + ``` + + + +### ScalarDL Auditor + + + + ```properties + scalar.dl.licensing.license_key= + scalar.dl.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICKzCCAdKgAwIBAgIIBXxj3s8NU+owCgYIKoZIzj0EAwIwbDELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMSMwIQYDVQQDExplbnRlcnByaXNlLnNjYWxhci1sYWJzLmNv\nbTAeFw0yMzExMTYwNzExNTdaFw0yNDAyMTUxMzE2NTdaMGwxCzAJBgNVBAYTAkpQ\nMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2hpbmp1a3UxFTATBgNVBAoTDFNj\nYWxhciwgSW5jLjEjMCEGA1UEAxMaZW50ZXJwcmlzZS5zY2FsYXItbGFicy5jb20w\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATJx5gvAr+GZAHcBpUvDFDsUlFo4GNw\npRfsntzwStIP8ac3dew7HT4KbGBWei0BvIthleaqpv0AEP7JT6eYAkNvo14wXDAO\nBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwG\nA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMIe+XuuZcnDX1c3TmUPlu3kNv/wMAoGCCqG\nSM49BAMCA0cAMEQCIGGlqKpgv+KW+Z1ZkjfMHjSGeUZKBLwfMtErVyc9aTdIAiAy\nvsZyZP6Or9o40x3l3pw/BT7wvy93Jm0T4vtVQH6Zuw==\n-----END CERTIFICATE----- + ``` + + + ```properties + scalar.dl.licensing.license_key= + scalar.dl.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIICIzCCAcigAwIBAgIIKT9LIGX1TJQwCgYIKoZIzj0EAwIwZzELMAkGA1UEBhMC\nSlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEVMBMGA1UEChMM\nU2NhbGFyLCBJbmMuMR4wHAYDVQQDExV0cmlhbC5zY2FsYXItbGFicy5jb20wHhcN\nMjMxMTE2MDcxMDM5WhcNMjQwMjE1MTMxNTM5WjBnMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xETAPBgNVBAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxTY2FsYXIs\nIEluYy4xHjAcBgNVBAMTFXRyaWFsLnNjYWxhci1sYWJzLmNvbTBZMBMGByqGSM49\nAgEGCCqGSM49AwEHA0IABBSkIYAk7r5FRDf5qRQ7dbD3ib5g3fb643h4hqCtK+lC\nwM4AUr+PPRoquAy+Ey2sWEvYrWtl2ZjiYyyiZw8slGCjXjBcMA4GA1UdDwEB/wQE\nAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw\nADAdBgNVHQ4EFgQUbFyOWFrsjkkOvjw6vK3gGUADGOcwCgYIKoZIzj0EAwIDSQAw\nRgIhAKwigOb74z9BdX1+dUpeVG8WrzLTIqdIU0w+9jhAueXoAiEA6cniJ3qsP4j7\nsck62kHnFpH1fCUOc/b/B8ZtfeXI2Iw=\n-----END CERTIFICATE----- + ``` + + From 136eb6909d411b737f225baa00c96acf27727d37 Mon Sep 17 00:00:00 2001 From: Josh Wong <23216828+josh-wong@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:27:45 +0900 Subject: [PATCH 9/9] Remove redirect Redirects don't seem to work for docs in the non-primary language. --- docusaurus.config.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 56d04cce..6e17cc0f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -163,10 +163,6 @@ const config = { to: '/docs/latest/', from: ['/', '/docs'], }, - { - to: '/ja-jp/docs/latest/overview', - from: ['/ja-jp', '/ja-jp/docs'], - }, { to: '/docs/latest/releases/release-support-policy', from: '/docs/releases/release-support-policy',