diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 00000000..c8e02e54 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,10 @@ +project_id: '619760' +api_token: 71920d310ddf281a4d742dbeae5fba47c3f3c577bbd243c98f2dbfd917dd166e11aa6bcf4235b4e8 +preserve_hierarchy: true +files: + # JSON translation files + - source: /i18n/en/**/* + translation: /i18n/%two_letters_code%/**/%original_file_name% + # Docs Markdown files + - source: /docs/**/* + translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name% diff --git a/docs/best-practices/account-types.mdx b/docs/configuration/account-types.mdx similarity index 98% rename from docs/best-practices/account-types.mdx rename to docs/configuration/account-types.mdx index d6b3e923..b9f1ea73 100644 --- a/docs/best-practices/account-types.mdx +++ b/docs/configuration/account-types.mdx @@ -1,7 +1,7 @@ --- title: Bucketeer account types # sidebar_position: -slug: /best-practice/account-types +slug: /configuration/account-types description: This page describes the existing account types available on Bucketter. tags: ['guide', 'account', 'account-types'] --- diff --git a/docs/feature-flags/api-keys.mdx b/docs/configuration/api-keys.mdx similarity index 98% rename from docs/feature-flags/api-keys.mdx rename to docs/configuration/api-keys.mdx index d26051d9..13fcb39d 100644 --- a/docs/feature-flags/api-keys.mdx +++ b/docs/configuration/api-keys.mdx @@ -1,7 +1,7 @@ --- title: API keys # sidebar_position: -slug: /feature-flags/api-keys +slug: /configuration/api-keys description: Describes what API keys are, what they are used for, and how to create them. tags: ['integration', 'feature-flag'] --- diff --git a/docs/configuration/configuration.md b/docs/configuration/configuration.md new file mode 100644 index 00000000..8e74c0d5 --- /dev/null +++ b/docs/configuration/configuration.md @@ -0,0 +1,17 @@ +--- +id: configuration +title: Configuration +slug: /configuration +--- + +# Configurations + +In this category, you will find information regarding complementary settings you can do when using the Bucketeer dashboard. The configurations available on these pages support the feature flag creation and usage. Below, you find the links and a brief description for each section. + +## API keys + +The [API keys](/configuration/api-keys) describe what they're and how they're used to authenticate and control access to the Bucketeer system. + +## Account types + +The [Account types](/configuration/account-types) present the different account types available on Bucketeer. You can use these different account types to provide different access levels to each team member. diff --git a/docs/feature-flags/index.md b/docs/feature-flags/index.md index e3354290..3c79620e 100644 --- a/docs/feature-flags/index.md +++ b/docs/feature-flags/index.md @@ -15,10 +15,6 @@ This section presents the necessary information to use Bucketeer feature flags. - [Evaluate results](../feature-flags/creating-feature-flags/evaluate-results): Explore how to evaluate and analyze the usage of your flags. - [Other flag settings](../feature-flags/creating-feature-flags/settings-and-history): Explore additional settings and options for your flags. -## API keys - -The [API keys](/feature-flags/api-keys) describe what they're and how they're used to authenticate and control access to the Bucketeer system. - ## Testing with flags The [Testing with flags](../feature-flags/testing-with-flags) will cover the three components used to perform tests on the Bucketeer system: diff --git a/docs/getting-started/create-an-account.md b/docs/getting-started/create-an-account.md index b15fcfae..e4385f5f 100644 --- a/docs/getting-started/create-an-account.md +++ b/docs/getting-started/create-an-account.md @@ -7,7 +7,7 @@ tags: ['guide', 'account', 'create'] import CenteredImg from '@site/src/components/centered-img/CenteredImg'; -Bucketeer allows you to manage and track data related to different environments. To begin using Bucketeer, you need an account. For additional information regarding the available account types on Bucketeer, check the [Bucketeer account types](../best-practice/account-types). Ask the project administrator to create an account if you're a new team member. +Bucketeer allows you to manage and track data related to different environments. To begin using Bucketeer, you need an account. For additional information regarding the available account types on Bucketeer, check the [Bucketeer account types](../configuration/account-types). Ask the project administrator to create an account if you're a new team member. The following steps show how to create an account as an Admin. diff --git a/docs/getting-started/index.mdx b/docs/getting-started/index.mdx index 8d461994..d0d0d2ee 100644 --- a/docs/getting-started/index.mdx +++ b/docs/getting-started/index.mdx @@ -51,7 +51,7 @@ Flags also enable A/B testing, allowing developers to compare different feature Additionally, feature flags align with trunk-based development, enabling developers to merge changes to a shared codebase without affecting production users. This practice ensures a releasable codebase, fostering collaboration within large teams. -To learn how to use and take advantage of flags on Bucketeer, check the [Using Feature Flags](#) section. +To learn how to use and take advantage of flags on Bucketeer, check the [Using Feature Flags](/feature-flags) section. ## Member roles on Bucketeer @@ -68,7 +68,7 @@ Bucketeer was designed to accommodate different types of members. Below you find

To get started, you will need to set up feature flags on the Bucketeer dashboard. You can refer to the - Using Feature Flags guide to learn more + Using Feature Flags guide to learn more about the process. Once you have your credentials and have created a feature flag, you can choose an SDK that best suits your application. The SDK @@ -97,7 +97,7 @@ Bucketeer was designed to accommodate different types of members. Below you find First and foremost, it's important to understand how to enable or disable feature flags. Familiarize yourself with managing flags and the mechanisms for toggling them on and off with the - Using Feature Flags guide. + Using Feature Flags guide.

In addition to managing flags, you play a crucial role in designing and @@ -111,7 +111,7 @@ Bucketeer was designed to accommodate different types of members. Below you find Utilizing feature flags enables you to conduct various types of testing, such as A/B testing. For more detailed information on experimentation, please refer to the - Testing with flags + Testing with flags resource.

@@ -150,11 +150,9 @@ Bucketeer was designed to accommodate different types of members. Below you find platform. This includes tasks such as adding or removing members, assigning appropriate roles and permissions, and ensuring that the right level of access is granted to individuals based on their responsibilities. Check{' '} - - Create Bucketeer's account - {' '} + Create Bucketeer's account{' '} to learn more about account creation or access the{' '} - Bucketeer account types to - learn more about the existing roles. + Bucketeer account types to learn + more about the existing roles.

diff --git a/docs/getting-started/quickstart/create-an-api-key.mdx b/docs/getting-started/quickstart/create-an-api-key.mdx index de319e6c..ef774e1e 100644 --- a/docs/getting-started/quickstart/create-an-api-key.mdx +++ b/docs/getting-started/quickstart/create-an-api-key.mdx @@ -25,4 +25,4 @@ The Bucketeer team recommends naming the API key based on the system where it wi wSize="100%" /> -After creating the API key, it will appear on the **API Keys** page, and its state will be **ON**, meaning it's ready for use. Now you can move on to the next step and [create your first feature flag](/getting-started/quickstart/create-your-first-flag). However, if you want to learn more about the usage of the API keys, check the [API keys](#) page. +After creating the API key, it will appear on the **API Keys** page, and its state will be **ON**, meaning it's ready for use. Now you can move on to the next step and [create your first feature flag](/getting-started/quickstart/create-your-first-flag). However, if you want to learn more about the usage of the API keys, check the [API keys](/configuration/api-keys) page. diff --git a/docs/sdk/client-side/android/index.md b/docs/sdk/client-side/android/index.md index e319415b..fec1c632 100644 --- a/docs/sdk/client-side/android/index.md +++ b/docs/sdk/client-side/android/index.md @@ -325,7 +325,7 @@ In regular use, you don't need to call the flush method because the events are s ### User attributes configuration -This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](#). +This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](/feature-flags/creating-feature-flags/targeting#user-attributes). @@ -382,7 +382,7 @@ This updating method will override the current data. ### Getting user information -This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](#updating-user-attributes). +This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](android#updating-user-attributes). @@ -408,7 +408,7 @@ val evaluationDetails = client.evaluationDetails("YOUR_FEATURE_FLAG_ID") :::caution -Do not call this method without calling the [Evaluating user method](#evaluating-user). The Evaluating user method must always be called because it generates analytics events that will be sent to the server. +Do not call this method without calling the [Evaluating user method](android#evaluating-user). The Evaluating user method must always be called because it generates analytics events that will be sent to the server. ::: diff --git a/docs/sdk/client-side/flutter/index.md b/docs/sdk/client-side/flutter/index.md index 9a3e67b5..2cfb4c58 100644 --- a/docs/sdk/client-side/flutter/index.md +++ b/docs/sdk/client-side/flutter/index.md @@ -275,7 +275,7 @@ In regular use, you don't need to call the flush method because the events are s ### User attributes configuration -This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](#). +This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](/feature-flags/creating-feature-flags/targeting#user-attributes). @@ -331,7 +331,7 @@ This updating method will override the current data. ### Getting user information -This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](#getting-user-information). +This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](flutter#updating-user-attributes). diff --git a/docs/sdk/client-side/ios/index.md b/docs/sdk/client-side/ios/index.md index c4126959..71e3424f 100644 --- a/docs/sdk/client-side/ios/index.md +++ b/docs/sdk/client-side/ios/index.md @@ -389,7 +389,7 @@ In regular use, you don't need to call the flush method because the events are s ### User attributes configuration -This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](#). +This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](/feature-flags/creating-feature-flags/targeting#user-attributes). @@ -454,7 +454,7 @@ This updating method will override the current data. ### Getting user information -This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](#getting-user-information). +This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](ios#updating-user-attributes). @@ -480,7 +480,7 @@ let evaluationDetails = client.evaluationDetails(featureId: "YOUR_FEATURE_FLAG_I :::caution -Do not call this method without calling the [Evaluating user method](#evaluating-user). The Evaluating user method must always be called because it generates analytics events that will be sent to the server. +Do not call this method without calling the [Evaluating user method](ios#evaluating-user). The Evaluating user method must always be called because it generates analytics events that will be sent to the server. ::: diff --git a/docs/sdk/client-side/javascript/index.md b/docs/sdk/client-side/javascript/index.md index b7f58a7e..ef43120b 100644 --- a/docs/sdk/client-side/javascript/index.md +++ b/docs/sdk/client-side/javascript/index.md @@ -251,7 +251,7 @@ In regular use, you don't need to call the flush method because the events are s ### User attributes configuration -This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](#). +This feature will give you robust and granular control over what users can see on your application. You can add rules using these attributes on the console UI's feature flag's targeting tab. [See more](/feature-flags/creating-feature-flags/targeting#user-attributes). @@ -306,7 +306,7 @@ This updating method will override the current data. ### Getting user information -This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](#getting-user-information). +This method will return the current user configured in the SDK. This is useful when you want to check the current user id and attributes before updating them through [updateUserAttributes](javascript#updating-user-attributes). diff --git a/docusaurus.config.js b/docusaurus.config.js index dc506091..9c5dfa5a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -33,6 +33,14 @@ const config = { i18n: { defaultLocale: 'en', locales: [ 'en', 'ja' ], + localeConfigs: { + en: { + label: 'English', + }, + ja: { + label: 'Japanese', + }, + }, }, presets: [ @@ -135,6 +143,11 @@ const config = { className: 'header-slack-link', 'aria-label': 'Bucketeer Slack - Join the conversation', }, + { + type: 'localeDropdown', + position: 'right', + className: 'language_dropdown' + }, ], }, prism: { diff --git a/i18n/en/code.json b/i18n/en/code.json new file mode 100644 index 00000000..940f0cb5 --- /dev/null +++ b/i18n/en/code.json @@ -0,0 +1,293 @@ +{ + "theme.ErrorPageContent.title": { + "message": "This page crashed.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.NotFound.title": { + "message": "Page Not Found", + "description": "The title of the 404 page" + }, + "theme.NotFound.p1": { + "message": "We could not find what you were looking for.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.admonition.note": { + "message": "note", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "tip", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.danger": { + "message": "danger", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "info", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.caution": { + "message": "caution", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "Scroll back to top", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "Archive", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "Archive", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "Blog list page navigation", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "Newer Entries", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "Older Entries", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "Blog post page navigation", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "Newer Post", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "Older Post", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.blog.post.plurals": { + "message": "One post|{count} posts", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} tagged with \"{tagName}\"", + "description": "The title of the page for a blog tag" + }, + "theme.tags.tagsPageLink": { + "message": "View All Tags", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel": { + "message": "Switch between dark and light mode (currently {mode})", + "description": "The ARIA label for the navbar color mode toggle" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "dark mode", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "light mode", + "description": "The name for the light color mode" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "Breadcrumbs", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription": { + "message": "{count} items", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "Docs pages", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "Previous", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "Next", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "One doc tagged|{count} docs tagged", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} with \"{tagName}\"", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "Version: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "latest version", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "Edit this page", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "Direct link to {heading}", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " on {date}", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " by {user}", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "Last updated{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "Versions", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.tags.tagsListLabel": { + "message": "Tags:", + "description": "The label alongside a tag list" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "Close", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "Blog recent posts navigation", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.CodeBlock.copied": { + "message": "Copied", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "Copy code to clipboard", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.copy": { + "message": "Copy", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "Toggle word wrap", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { + "message": "Toggle the collapsible sidebar category '{label}'", + "description": "The ARIA label to toggle the collapsible sidebar category" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "Languages", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "On this page", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "Read More", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "Read more about {title}", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "One min read|{readingTime} min read", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.breadcrumbs.home": { + "message": "Home page", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "Collapse sidebar", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "Collapse sidebar", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Close navigation bar", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← Back to main menu", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Toggle navigation bar", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "Expand sidebar", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "Expand sidebar", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "cmfcmf/d-s-l.searchBar.placeholder": { + "message": "Search...", + "description": "Placeholder shown in the searchbar" + }, + "cmfcmf/d-s-l.searchBar.clearButtonTitle": { + "message": "Clear", + "description": "Title of the button to clear the current search input" + }, + "cmfcmf/d-s-l.searchBar.detachedCancelButtonText": { + "message": "Cancel", + "description": "Text of the button to close the detached search window" + }, + "cmfcmf/d-s-l.searchBar.submitButtonTitle": { + "message": "Submit", + "description": "Title of the button to submit a new search" + }, + "cmfcmf/d-s-l.searchBar.noResults": { + "message": "No results found.", + "description": "message shown if no results are found" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "Try again", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "Skip to main content", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "Tags", + "description": "The title of the tag list page" + } +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current.json b/i18n/en/docusaurus-plugin-content-docs/current.json new file mode 100644 index 00000000..fd3725be --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,74 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.Quickstart": { + "message": "Quickstart", + "description": "The label for category Quickstart in sidebar docs" + }, + "sidebar.docs.category.Creating Feature Flags": { + "message": "Creating Feature Flags", + "description": "The label for category Creating Feature Flags in sidebar docs" + }, + "sidebar.docs.category.Testing With Flags": { + "message": "Testing With Flags", + "description": "The label for category Testing With Flags in sidebar docs" + }, + "sidebar.docs.category.Client": { + "message": "Client", + "description": "The label for category Client in sidebar docs" + }, + "sidebar.docs.category.Server": { + "message": "Server", + "description": "The label for category Server in sidebar docs" + }, + "sidebar.docs.category.Documentation Style": { + "message": "Documentation Style", + "description": "The label for category Documentation Style in sidebar docs" + }, + "sidebar.docs.doc.Bucketeer Docs": { + "message": "Bucketeer Docs", + "description": "The label for the doc item Bucketeer Docs in sidebar docs, linking to the doc bucketeer-docs" + }, + "sidebar.docs.doc.Introduction": { + "message": "Introduction", + "description": "The label for the doc item Introduction in sidebar docs, linking to the doc getting-started/introduction" + }, + "sidebar.docs.doc.Create an account": { + "message": "Create an account", + "description": "The label for the doc item Create an account in sidebar docs, linking to the doc getting-started/create-an-account" + }, + "sidebar.docs.doc.Bucketeer Vocabulary": { + "message": "Bucketeer Vocabulary", + "description": "The label for the doc item Bucketeer Vocabulary in sidebar docs, linking to the doc getting-started/bucketeer-vocabulary" + }, + "sidebar.docs.doc.Overview": { + "message": "Overview", + "description": "The label for the doc item Overview in sidebar docs, linking to the doc integration/index" + }, + "sidebar.docs.doc.API Keys": { + "message": "API Keys", + "description": "The label for the doc item API Keys in sidebar docs, linking to the doc configuration/api-keys" + }, + "sidebar.docs.doc.Account Types": { + "message": "Account Types", + "description": "The label for the doc item Account Types in sidebar docs, linking to the doc configuration/account-types" + }, + "sidebar.docs.doc.Pushes": { + "message": "Pushes", + "description": "The label for the doc item Pushes in sidebar docs, linking to the doc integration/pushes" + }, + "sidebar.docs.doc.Notifications": { + "message": "Notifications", + "description": "The label for the doc item Notifications in sidebar docs, linking to the doc integration/notifications" + }, + "sidebar.docs.doc.Optimize with tags": { + "message": "Optimize with tags", + "description": "The label for the doc item Optimize with tags in sidebar docs, linking to the doc best-practices/optimize-bucketeer-with-tags" + }, + "sidebar.docs.doc.Contributing": { + "message": "Contributing", + "description": "The label for the doc item Contributing in sidebar docs, linking to the doc contribution-guide/contributing" + } +} diff --git a/i18n/en/docusaurus-theme-classic/navbar.json b/i18n/en/docusaurus-theme-classic/navbar.json new file mode 100644 index 00000000..18c69641 --- /dev/null +++ b/i18n/en/docusaurus-theme-classic/navbar.json @@ -0,0 +1,22 @@ +{ + "logo.alt": { + "message": "Feature Flag and A/B Testing Managment platform", + "description": "The alt text of navbar logo" + }, + "item.label.Home": { + "message": "Home", + "description": "Navbar item with label Home" + }, + "item.label.Getting Started": { + "message": "Getting Started", + "description": "Navbar item with label Getting Started" + }, + "item.label.SDKs": { + "message": "SDKs", + "description": "Navbar item with label SDKs" + }, + "item.label.Contributing": { + "message": "Contributing", + "description": "Navbar item with label Contributing" + } +} diff --git a/i18n/ja/code.json b/i18n/ja/code.json index b64b56c0..eb15b07d 100644 --- a/i18n/ja/code.json +++ b/i18n/ja/code.json @@ -5,7 +5,7 @@ }, "theme.ErrorPageContent.tryAgain": { "message": "Try again", - "description": "The label of the button to try again when the page crashed" + "description": "The label of the button to try again rendering when the React error boundary captures an error" }, "theme.NotFound.title": { "message": "ページが見つかりません", @@ -229,5 +229,65 @@ "theme.docs.sidebar.expandButtonAriaLabel": { "message": "サイドバーを開く", "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.admonition.note": { + "message": "注記", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "ヒント", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.danger": { + "message": "危険", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "備考", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.caution": { + "message": "注意", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Close navigation bar", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Toggle navigation bar", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "cmfcmf/d-s-l.searchBar.placeholder": { + "message": "検索...", + "description": "Placeholder shown in the searchbar" + }, + "cmfcmf/d-s-l.searchBar.clearButtonTitle": { + "message": "Clear", + "description": "Title of the button to clear the current search input" + }, + "cmfcmf/d-s-l.searchBar.detachedCancelButtonText": { + "message": "Cancel", + "description": "Text of the button to close the detached search window" + }, + "cmfcmf/d-s-l.searchBar.submitButtonTitle": { + "message": "Submit", + "description": "Title of the button to submit a new search" + }, + "cmfcmf/d-s-l.searchBar.noResults": { + "message": "該当する結果はありません。", + "description": "message shown if no results are found" + }, + "theme.tags.tagsPageTitle": { + "message": "タグ", + "description": "The title of the tag list page" } } diff --git a/i18n/ja/docusaurus-plugin-content-docs/current.json b/i18n/ja/docusaurus-plugin-content-docs/current.json new file mode 100644 index 00000000..e188f367 --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,70 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.Quickstart": { + "message": "クイックスタート", + "description": "The label for category Quickstart in sidebar docs" + }, + "sidebar.docs.category.Creating Feature Flags": { + "message": "フィーチャーフラグの作成", + "description": "The label for category Creating Feature Flags in sidebar docs" + }, + "sidebar.docs.category.Testing With Flags": { + "message": "フラグを使用したテスト", + "description": "The label for category Testing With Flags in sidebar docs" + }, + "sidebar.docs.category.Client": { + "message": "クライアント", + "description": "The label for category Client in sidebar docs" + }, + "sidebar.docs.category.Server": { + "message": "サーバー", + "description": "The label for category Server in sidebar docs" + }, + "sidebar.docs.category.Documentation Style": { + "message": "Documentation Style", + "description": "The label for category Documentation Style in sidebar docs" + }, + "sidebar.docs.doc.Bucketeer Docs": { + "message": "Bucketeer ドキュメント", + "description": "The label for the doc item Bucketeer Docs in sidebar docs, linking to the doc bucketeer-docs" + }, + "sidebar.docs.doc.Introduction": { + "message": "概要", + "description": "The label for the doc item Introduction in sidebar docs, linking to the doc getting-started/introduction" + }, + "sidebar.docs.doc.Create an account": { + "message": "アカウントの作成", + "description": "The label for the doc item Create an account in sidebar docs, linking to the doc getting-started/create-an-account" + }, + "sidebar.docs.doc.Bucketeer Vocabulary": { + "message": "Bucketeer用語", + "description": "The label for the doc item Bucketeer Vocabulary in sidebar docs, linking to the doc getting-started/bucketeer-vocabulary" + }, + "sidebar.docs.doc.Overview": { + "message": "概要", + "description": "The label for the doc item Overview in sidebar docs, linking to the doc integration/index" + }, + "sidebar.docs.doc.API Keys": { + "message": "API キー", + "description": "The label for the doc item API Keys in sidebar docs, linking to the doc feature-flags/api-keys" + }, + "sidebar.docs.doc.Pushes": { + "message": "プッシュ", + "description": "The label for the doc item Pushes in sidebar docs, linking to the doc integration/pushes" + }, + "sidebar.docs.doc.Notifications": { + "message": "通知", + "description": "The label for the doc item Notifications in sidebar docs, linking to the doc integration/notifications" + }, + "sidebar.docs.doc.Optimize with tags": { + "message": "タグを使用して最適化する", + "description": "The label for the doc item Optimize with tags in sidebar docs, linking to the doc best-practices/optimize-bucketeer-with-tags" + }, + "sidebar.docs.doc.Contributing": { + "message": "貢献", + "description": "The label for the doc item Contributing in sidebar docs, linking to the doc contribution-guide/contributing" + } +} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/best-practices/optimize-bucketeer-with-tags.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/best-practices/optimize-bucketeer-with-tags.mdx new file mode 100644 index 00000000..e81ea6ea --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/best-practices/optimize-bucketeer-with-tags.mdx @@ -0,0 +1,96 @@ +--- +title: タグによるBucketeerの最適化 +# sidebar_position: +slug: /best-practices/optimize-with-tags +description: Describe the impact of using tags with feature flags and the best practices to define them. +tags: ['best-practices', 'tags'] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Bucketeerのインテグレーションと活用は簡単で、設定と利用を完全にコントロールすることができます。ただし、一歩間違えればサーバーの応答時間やコストに大きな影響を与え、最終的にユーザーエクスペリエンスに影響を与えます。そこで、[フィーチャーフラグの使用](/feature-flags)で詳しく説明するこのトピックについて、簡単に説明します。 + +[インテグレーションプロセス](/getting-started/quickstart/integrate-bucketeer)のステップ 3 では、`featureTag`を指定する必要があります。簡単に理解できるように、コードを以下に示します: + + + + + +```kotlin showLineNumbers +// Configure the SDK +val config = BKTConfig.builder() + .apiKey("YOUR_API_KEY") + .apiEndpoint("YOUR_API_ENDPOINT") + .featureTag("YOUR_FEATURE_TAG") + .build() +``` + + + + +```dart showLineNumbers +// Configure the SDK +final config = BKTConfigBuilder() + .apiKey("YOUR_API_KEY") + .apiURL("YOUR_API_URL") + .featureTag("YOUR_FEATURE_TAG") + .build(); +``` + + + + +```swift showLineNumbers +// Configure the SDK +let config = BKTConfig( + apiKey: "YOUR_API_KEY", + apiURL: "YOUR_API_URL", + featureTag: "YOUR_FEATURE_TAG" +) +``` + + + + +```js showLineNumbers +// Configure the SDK +const config = defineBKTConfig({ + apiKey: 'YOUR_API_KEY', + apiEndpoint: 'YOUR_API_URL', + featureTag: 'YOUR_FEATURE_TAG', + appVersion: 'YOUR_APP_VERSION', +}); +``` + + + + +```sh showLineNumbers +not available +``` + + + + +```sh showLineNumbers +not available +``` + + + + +`featureTag`は、フィーチャーフラグを作成する際に定義され、2つの目的があります。第1に、Bucketeerダッシュボードのタグリスト内で検索するのに役立ちます。第2に、`featureTag`はBucketeerシステムの使用を最適化する上で重要な役割を果たします。 + +フィーチャータグは、ユーザーを評価するためにサーバー呼び出しを行う際のリミッターとして機能します。したがって、呼び出しがタグを使用しない場合や、多数のフラグで使用されるタグを使用する場合、エバリュエーションのために大量のフィーチャーフラグが返されます。フラグが少ない小規模なシステムでは、これは問題にならないかもしれません。しかし、システムが拡張するにつれて、エバリュエーション呼び出しを識別および最適化するためにタグを使用しないと、サーバー上で過剰な処理が行われ、運用コストが増加する可能性があります。さらに、応答時間が長くなり、ユーザーエクスペリエンスに悪影響を与える可能性があります。したがって、ターゲットを絞った断定的なタグを使用することで、以下のことが可能になります: + +- 必要な側面だけを分析することにより、エバリュエーションプロセスを加速します。 +- サーバとローカルアプリケーション間の情報トラフィックを削減します。 + +Bucketeerでのタグの使用は、パフォーマンスやコストに多大な影響を与える重要なものですが、その使用は任意です。 + +:::tip + +Bucketeerチームは、オペレーションを最適化するために`featureTag`の使用を強く推奨します。 + +::: diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/bucketeer-docs.md b/i18n/ja/docusaurus-plugin-content-docs/current/bucketeer-docs.md new file mode 100644 index 00000000..202680fa --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-docs/current/bucketeer-docs.md @@ -0,0 +1,119 @@ +--- +title: Bucketeer Docs +sidebar_position: 1 +slug: / +description: Describes what the Bucketeer is and its solution. In addition, the page also provides an overview of the main sections covered in the documentation. +tags: ['home', 'guide', 'presentation', 'overview', 'contact'] +--- + +import Button from '@site/src/components/button/Button'; +import ButtonShelf from '@site/src/components/button-shelf/ButtonShelf'; + +# Bucketeerドキュメントへようこそ + +Bucketeerドキュメントへようこそ。ここは、Bucketeerプラットフォーム、インテグレーション、SDKに関するあらゆる情報を得ることができるサイトです。Bucketeerソリューションを効果的に活用するために必要なすべての情報がここにあります。以下の便利なナビゲーションボタンを使用することで、目的のセクションにすばやくアクセスすることができます。さらにこのページでは、Bucketeerの主な特徴や機能を詳しくご紹介します。 + + +