enable localizationw
This commit is contained in:
parent
0cd2a2f09d
commit
384af2d663
12 changed files with 979 additions and 23 deletions
|
|
@ -86,8 +86,7 @@ const config: Config = {
|
|||
{to: '/contact', label: 'Get In Touch', position: 'left'},
|
||||
{to: '/blog', label: 'Blog', position: 'left'},
|
||||
{
|
||||
href: 'https://guardianproject.dev/butter',
|
||||
label: 'Guardian.Dev Git',
|
||||
type: 'localeDropdown',
|
||||
position: 'right',
|
||||
},
|
||||
],
|
||||
|
|
|
|||
374
www/i18n/en/code.json
Normal file
374
www/i18n/en/code.json
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
{
|
||||
"theme.ErrorPageContent.title": {
|
||||
"message": "This page crashed.",
|
||||
"description": "The title of the fallback page when the page crashed"
|
||||
},
|
||||
"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.tags.tagsPageLink": {
|
||||
"message": "View all tags",
|
||||
"description": "The label of the link targeting the tag list page"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.system": {
|
||||
"message": "system mode",
|
||||
"description": "The name for the system color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.light": {
|
||||
"message": "light mode",
|
||||
"description": "The name for the light color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.dark": {
|
||||
"message": "dark mode",
|
||||
"description": "The name for the dark color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel": {
|
||||
"message": "Switch between dark and light mode (currently {mode})",
|
||||
"description": "The ARIA label for the color mode toggle"
|
||||
},
|
||||
"theme.docs.breadcrumbs.navAriaLabel": {
|
||||
"message": "Breadcrumbs",
|
||||
"description": "The ARIA label for the breadcrumbs"
|
||||
},
|
||||
"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.NotFound.title": {
|
||||
"message": "Page Not Found",
|
||||
"description": "The title of the 404 page"
|
||||
},
|
||||
"theme.tags.tagsListLabel": {
|
||||
"message": "Tags:",
|
||||
"description": "The label alongside a tag list"
|
||||
},
|
||||
"theme.admonition.caution": {
|
||||
"message": "caution",
|
||||
"description": "The default label used for the Caution admonition (:::caution)"
|
||||
},
|
||||
"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.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.warning": {
|
||||
"message": "warning",
|
||||
"description": "The default label used for the Warning admonition (:::warning)"
|
||||
},
|
||||
"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.DocSidebarItem.expandCategoryAriaLabel": {
|
||||
"message": "Expand sidebar category '{label}'",
|
||||
"description": "The ARIA label to expand the sidebar category"
|
||||
},
|
||||
"theme.DocSidebarItem.collapseCategoryAriaLabel": {
|
||||
"message": "Collapse sidebar category '{label}'",
|
||||
"description": "The ARIA label to collapse the sidebar category"
|
||||
},
|
||||
"theme.IconExternalLink.ariaLabel": {
|
||||
"message": "(opens in new tab)",
|
||||
"description": "The ARIA label for the external link icon"
|
||||
},
|
||||
"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.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.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.CodeBlock.copy": {
|
||||
"message": "Copy",
|
||||
"description": "The copy button label on code blocks"
|
||||
},
|
||||
"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.wordWrapToggle": {
|
||||
"message": "Toggle word wrap",
|
||||
"description": "The title attribute for toggle word wrapping button of code block lines"
|
||||
},
|
||||
"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.navbar.mobileDropdown.collapseButton.expandAriaLabel": {
|
||||
"message": "Expand the dropdown",
|
||||
"description": "The ARIA label of the button to expand the mobile dropdown navbar item"
|
||||
},
|
||||
"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": {
|
||||
"message": "Collapse the dropdown",
|
||||
"description": "The ARIA label of the button to collapse the mobile dropdown navbar item"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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.blog.author.pageTitle": {
|
||||
"message": "{authorName} - {nPosts}",
|
||||
"description": "The title of the page for a blog author"
|
||||
},
|
||||
"theme.blog.authorsList.pageTitle": {
|
||||
"message": "Authors",
|
||||
"description": "The title of the authors page"
|
||||
},
|
||||
"theme.blog.authorsList.viewAll": {
|
||||
"message": "View all authors",
|
||||
"description": "The label of the link targeting the blog authors page"
|
||||
},
|
||||
"theme.blog.author.noPosts": {
|
||||
"message": "This author has not written any posts yet.",
|
||||
"description": "The text for authors with 0 blog post"
|
||||
},
|
||||
"theme.contentVisibility.unlistedBanner.title": {
|
||||
"message": "Unlisted page",
|
||||
"description": "The unlisted content banner title"
|
||||
},
|
||||
"theme.contentVisibility.unlistedBanner.message": {
|
||||
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
|
||||
"description": "The unlisted content banner message"
|
||||
},
|
||||
"theme.contentVisibility.draftBanner.title": {
|
||||
"message": "Draft page",
|
||||
"description": "The draft content banner title"
|
||||
},
|
||||
"theme.contentVisibility.draftBanner.message": {
|
||||
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
|
||||
"description": "The draft content banner message"
|
||||
},
|
||||
"theme.docs.DocCard.categoryDescription.plurals": {
|
||||
"message": "1 item|{count} items",
|
||||
"description": "The default description for a category card in the generated index about how many items this category includes"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"home.title": {
|
||||
"message": "Introducing Butter Box"
|
||||
},
|
||||
"home.subtitle1": {
|
||||
"message": "Life without internet made smoother."
|
||||
},
|
||||
"home.subtitle2": {
|
||||
"message": "Get access to tools that help."
|
||||
},
|
||||
"home.whatisbutterbox": {
|
||||
"message": "An app store, encrypted chat, and more, all available over WiFi from an off-the-grid Raspberry Pi."
|
||||
},
|
||||
"home.section1.title": {
|
||||
"message": "How does it work?"
|
||||
},
|
||||
"home.section1.description": {
|
||||
"message": "Butter Box broadcasts its own WiFi network. Once you join, you can install Butter, get apps, join a public chatroom, or make your own private one to share with friends. Butter Box works even when there's no Internet. Just stop by the box to download more apps or check in on your chatrooms. Everything is stored right on the Butter Box."
|
||||
},
|
||||
"home.learnmore": {
|
||||
"message": "Learn More"
|
||||
},
|
||||
"home.getbutter.title": {
|
||||
"message": "Get your own Butter Box"
|
||||
},
|
||||
"home.getbutter.description": {
|
||||
"message": "We help make & ship Butter Boxes to partners around the world. Reach out to us if you serve a community that could benefit."
|
||||
},
|
||||
"home.getintouch": {
|
||||
"message": "Get in Touch"
|
||||
},
|
||||
"home.makebutter.title": {
|
||||
"message": "Make your own Butter Box"
|
||||
},
|
||||
"home.makebutter.description": {
|
||||
"message": "You can make your own Butter Box by installing a pre-made image on a Raspberry Pi or even an old PC. Just download the image and burn it onto a MicroSD card or USB drive using the same RPi or Disk Imager you'd use to install other distros."
|
||||
},
|
||||
"home.learnhow": {
|
||||
"message": "Learn How!"
|
||||
},
|
||||
"home.getcode.title": {
|
||||
"message": "Or, customize your Butter Box following the instructions in our open source repository."
|
||||
},
|
||||
"home.getsource.button": {
|
||||
"message": "Source & Documentation"
|
||||
}
|
||||
}
|
||||
14
www/i18n/en/docusaurus-plugin-content-blog/options.json
Normal file
14
www/i18n/en/docusaurus-plugin-content-blog/options.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"title": {
|
||||
"message": "Blog",
|
||||
"description": "The title for the blog used in SEO"
|
||||
},
|
||||
"description": {
|
||||
"message": "Blog",
|
||||
"description": "The description for the blog used in SEO"
|
||||
},
|
||||
"sidebar.title": {
|
||||
"message": "Recent posts",
|
||||
"description": "The label for the left sidebar"
|
||||
}
|
||||
}
|
||||
30
www/i18n/en/docusaurus-plugin-content-docs/current.json
Normal file
30
www/i18n/en/docusaurus-plugin-content-docs/current.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "Next",
|
||||
"description": "The label for version current"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Build A Box": {
|
||||
"message": "Build A Box",
|
||||
"description": "The label for category 'Build A Box' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Raspberry Pi": {
|
||||
"message": "Raspberry Pi",
|
||||
"description": "The label for category 'Raspberry Pi' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Services": {
|
||||
"message": "Services",
|
||||
"description": "The label for category 'Services' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Content Packs": {
|
||||
"message": "Content Packs",
|
||||
"description": "The label for category 'Content Packs' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Apps": {
|
||||
"message": "Apps",
|
||||
"description": "The label for category 'Apps' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.FAQ": {
|
||||
"message": "FAQ",
|
||||
"description": "The label for category 'FAQ' in sidebar 'tutorialSidebar'"
|
||||
}
|
||||
}
|
||||
38
www/i18n/en/docusaurus-theme-classic/footer.json
Normal file
38
www/i18n/en/docusaurus-theme-classic/footer.json
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"link.title.Docs": {
|
||||
"message": "Docs",
|
||||
"description": "The title of the footer links column with title=Docs in the footer"
|
||||
},
|
||||
"link.title.Community": {
|
||||
"message": "Community",
|
||||
"description": "The title of the footer links column with title=Community in the footer"
|
||||
},
|
||||
"link.title.More": {
|
||||
"message": "More",
|
||||
"description": "The title of the footer links column with title=More in the footer"
|
||||
},
|
||||
"link.item.label.Get Started": {
|
||||
"message": "Get Started",
|
||||
"description": "The label of footer link with label=Get Started linking to /docs/"
|
||||
},
|
||||
"link.item.label.Guardian Project": {
|
||||
"message": "Guardian Project",
|
||||
"description": "The label of footer link with label=Guardian Project linking to https://guardianproject.info"
|
||||
},
|
||||
"link.item.label.F-Droid": {
|
||||
"message": "F-Droid",
|
||||
"description": "The label of footer link with label=F-Droid linking to https://f-droid.org"
|
||||
},
|
||||
"link.item.label.Blog": {
|
||||
"message": "Blog",
|
||||
"description": "The label of footer link with label=Blog linking to /blog"
|
||||
},
|
||||
"link.item.label.GP Repo": {
|
||||
"message": "GP Repo",
|
||||
"description": "The label of footer link with label=GP Repo linking to https://guardianproject.dev/butter"
|
||||
},
|
||||
"copyright": {
|
||||
"message": "Copyright © 2026 Guardian Project. Built with Docusaurus.",
|
||||
"description": "The footer copyright"
|
||||
}
|
||||
}
|
||||
22
www/i18n/en/docusaurus-theme-classic/navbar.json
Normal file
22
www/i18n/en/docusaurus-theme-classic/navbar.json
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"title": {
|
||||
"message": "Butter",
|
||||
"description": "The title in the navbar"
|
||||
},
|
||||
"logo.alt": {
|
||||
"message": "Butter App Logo",
|
||||
"description": "The alt text of navbar logo"
|
||||
},
|
||||
"item.label.How To": {
|
||||
"message": "How To",
|
||||
"description": "Navbar item with label How To"
|
||||
},
|
||||
"item.label.Get In Touch": {
|
||||
"message": "Get In Touch",
|
||||
"description": "Navbar item with label Get In Touch"
|
||||
},
|
||||
"item.label.Blog": {
|
||||
"message": "Blog",
|
||||
"description": "Navbar item with label Blog"
|
||||
}
|
||||
}
|
||||
374
www/i18n/es/code.json
Normal file
374
www/i18n/es/code.json
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
{
|
||||
"theme.ErrorPageContent.title": {
|
||||
"message": "Esta página ha fallado.",
|
||||
"description": "The title of the fallback page when the page crashed"
|
||||
},
|
||||
"theme.BackToTopButton.buttonAriaLabel": {
|
||||
"message": "Volver al principio",
|
||||
"description": "The ARIA label for the back to top button"
|
||||
},
|
||||
"theme.blog.archive.title": {
|
||||
"message": "Archivo",
|
||||
"description": "The page & hero title of the blog archive page"
|
||||
},
|
||||
"theme.blog.archive.description": {
|
||||
"message": "Archivo",
|
||||
"description": "The page & hero description of the blog archive page"
|
||||
},
|
||||
"theme.blog.paginator.navAriaLabel": {
|
||||
"message": "Navegación por la página de la lista de blogs ",
|
||||
"description": "The ARIA label for the blog pagination"
|
||||
},
|
||||
"theme.blog.paginator.newerEntries": {
|
||||
"message": "Entradas más recientes",
|
||||
"description": "The label used to navigate to the newer blog posts page (previous page)"
|
||||
},
|
||||
"theme.blog.paginator.olderEntries": {
|
||||
"message": "Entradas más antiguas",
|
||||
"description": "The label used to navigate to the older blog posts page (next page)"
|
||||
},
|
||||
"theme.blog.post.paginator.navAriaLabel": {
|
||||
"message": "Barra de paginación de publicaciones del blog",
|
||||
"description": "The ARIA label for the blog posts pagination"
|
||||
},
|
||||
"theme.blog.post.paginator.newerPost": {
|
||||
"message": "Publicación más reciente",
|
||||
"description": "The blog post button label to navigate to the newer/previous post"
|
||||
},
|
||||
"theme.blog.post.paginator.olderPost": {
|
||||
"message": "Publicación más antigua",
|
||||
"description": "The blog post button label to navigate to the older/next post"
|
||||
},
|
||||
"theme.tags.tagsPageLink": {
|
||||
"message": "Ver Todas las Etiquetas",
|
||||
"description": "The label of the link targeting the tag list page"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.system": {
|
||||
"message": "system mode",
|
||||
"description": "The name for the system color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.light": {
|
||||
"message": "modo claro",
|
||||
"description": "The name for the light color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel.mode.dark": {
|
||||
"message": "modo oscuro",
|
||||
"description": "The name for the dark color mode"
|
||||
},
|
||||
"theme.colorToggle.ariaLabel": {
|
||||
"message": "Cambiar entre modo oscuro y claro (actualmente {mode})",
|
||||
"description": "The ARIA label for the color mode toggle"
|
||||
},
|
||||
"theme.docs.breadcrumbs.navAriaLabel": {
|
||||
"message": "Rastro de navegación",
|
||||
"description": "The ARIA label for the breadcrumbs"
|
||||
},
|
||||
"theme.docs.paginator.navAriaLabel": {
|
||||
"message": "Página del documento",
|
||||
"description": "The ARIA label for the docs pagination"
|
||||
},
|
||||
"theme.docs.paginator.previous": {
|
||||
"message": "Anterior",
|
||||
"description": "The label used to navigate to the previous doc"
|
||||
},
|
||||
"theme.docs.paginator.next": {
|
||||
"message": "Siguiente",
|
||||
"description": "The label used to navigate to the next doc"
|
||||
},
|
||||
"theme.docs.tagDocListPageTitle.nDocsTagged": {
|
||||
"message": "Un documento etiquetado|{count} documentos etiquetados",
|
||||
"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} con \"{tagName}\"",
|
||||
"description": "The title of the page for a docs tag"
|
||||
},
|
||||
"theme.docs.versionBadge.label": {
|
||||
"message": "Version: {versionLabel}"
|
||||
},
|
||||
"theme.docs.versions.unreleasedVersionLabel": {
|
||||
"message": "Esta es la documentación sin publicar para {siteTitle}, versión {versionLabel}.",
|
||||
"description": "The label used to tell the user that he's browsing an unreleased doc version"
|
||||
},
|
||||
"theme.docs.versions.unmaintainedVersionLabel": {
|
||||
"message": "Esta es la documentación para {siteTitle} {versionLabel}, que ya no se mantiene activamente.",
|
||||
"description": "The label used to tell the user that he's browsing an unmaintained doc version"
|
||||
},
|
||||
"theme.docs.versions.latestVersionSuggestionLabel": {
|
||||
"message": "Para la documentación actualizada, vea {latestVersionLink} ({versionLabel}).",
|
||||
"description": "The label used to tell the user to check the latest version"
|
||||
},
|
||||
"theme.docs.versions.latestVersionLinkLabel": {
|
||||
"message": "última versión",
|
||||
"description": "The label used for the latest version suggestion link label"
|
||||
},
|
||||
"theme.common.editThisPage": {
|
||||
"message": "Editar esta página",
|
||||
"description": "The link label to edit the current page"
|
||||
},
|
||||
"theme.common.headingLinkTitle": {
|
||||
"message": "Enlace directo al {heading}",
|
||||
"description": "Title for link to heading"
|
||||
},
|
||||
"theme.lastUpdated.atDate": {
|
||||
"message": " en {date}",
|
||||
"description": "The words used to describe on which date a page has been last updated"
|
||||
},
|
||||
"theme.lastUpdated.byUser": {
|
||||
"message": " por {user}",
|
||||
"description": "The words used to describe by who the page has been last updated"
|
||||
},
|
||||
"theme.lastUpdated.lastUpdatedAtBy": {
|
||||
"message": "Última actualización{atDate}{byUser}",
|
||||
"description": "The sentence used to display when a page has been last updated, and by who"
|
||||
},
|
||||
"theme.navbar.mobileVersionsDropdown.label": {
|
||||
"message": "Versiones",
|
||||
"description": "The label for the navbar versions dropdown on mobile view"
|
||||
},
|
||||
"theme.NotFound.title": {
|
||||
"message": "Página No Encontrada",
|
||||
"description": "The title of the 404 page"
|
||||
},
|
||||
"theme.tags.tagsListLabel": {
|
||||
"message": "Etiquetas:",
|
||||
"description": "The label alongside a tag list"
|
||||
},
|
||||
"theme.admonition.caution": {
|
||||
"message": "precaución",
|
||||
"description": "The default label used for the Caution admonition (:::caution)"
|
||||
},
|
||||
"theme.admonition.danger": {
|
||||
"message": "peligro",
|
||||
"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.note": {
|
||||
"message": "nota",
|
||||
"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.warning": {
|
||||
"message": "aviso",
|
||||
"description": "The default label used for the Warning admonition (:::warning)"
|
||||
},
|
||||
"theme.AnnouncementBar.closeButtonAriaLabel": {
|
||||
"message": "Cerrar",
|
||||
"description": "The ARIA label for close button of announcement bar"
|
||||
},
|
||||
"theme.blog.sidebar.navAriaLabel": {
|
||||
"message": "Navegación de publicaciones recientes",
|
||||
"description": "The ARIA label for recent posts in the blog sidebar"
|
||||
},
|
||||
"theme.DocSidebarItem.expandCategoryAriaLabel": {
|
||||
"message": "Ampliar la categoría '{label}' de la barra lateral",
|
||||
"description": "The ARIA label to expand the sidebar category"
|
||||
},
|
||||
"theme.DocSidebarItem.collapseCategoryAriaLabel": {
|
||||
"message": "Colapsar categoría '{label}' de la barra lateral",
|
||||
"description": "The ARIA label to collapse the sidebar category"
|
||||
},
|
||||
"theme.IconExternalLink.ariaLabel": {
|
||||
"message": "(opens in new tab)",
|
||||
"description": "The ARIA label for the external link icon"
|
||||
},
|
||||
"theme.NavBar.navAriaLabel": {
|
||||
"message": "Principal",
|
||||
"description": "The ARIA label for the main navigation"
|
||||
},
|
||||
"theme.navbar.mobileLanguageDropdown.label": {
|
||||
"message": "Idiomas",
|
||||
"description": "The label for the mobile language switcher dropdown"
|
||||
},
|
||||
"theme.NotFound.p1": {
|
||||
"message": "No pudimos encontrar lo que buscaba.",
|
||||
"description": "The first paragraph of the 404 page"
|
||||
},
|
||||
"theme.NotFound.p2": {
|
||||
"message": "Comuníquese con el dueño del sitio que le proporcionó la URL original y hágale saber que su vínculo está roto.",
|
||||
"description": "The 2nd paragraph of the 404 page"
|
||||
},
|
||||
"theme.TOCCollapsible.toggleButtonLabel": {
|
||||
"message": "En esta página",
|
||||
"description": "The label used by the button on the collapsible TOC component"
|
||||
},
|
||||
"theme.blog.post.readMore": {
|
||||
"message": "Leer Más",
|
||||
"description": "The label used in blog post item excerpts to link to full blog posts"
|
||||
},
|
||||
"theme.blog.post.readMoreLabel": {
|
||||
"message": "Leer más acerca de {title}",
|
||||
"description": "The ARIA label for the link to full blog posts from excerpts"
|
||||
},
|
||||
"theme.blog.post.readingTime.plurals": {
|
||||
"message": "Lectura de un minuto|{readingTime} min de lectura",
|
||||
"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.CodeBlock.copy": {
|
||||
"message": "Copiar",
|
||||
"description": "The copy button label on code blocks"
|
||||
},
|
||||
"theme.CodeBlock.copied": {
|
||||
"message": "Copiado",
|
||||
"description": "The copied button label on code blocks"
|
||||
},
|
||||
"theme.CodeBlock.copyButtonAriaLabel": {
|
||||
"message": "Copiar código",
|
||||
"description": "The ARIA label for copy code blocks button"
|
||||
},
|
||||
"theme.CodeBlock.wordWrapToggle": {
|
||||
"message": "Alternar ajuste de palabras",
|
||||
"description": "The title attribute for toggle word wrapping button of code block lines"
|
||||
},
|
||||
"theme.docs.breadcrumbs.home": {
|
||||
"message": "Página de Inicio",
|
||||
"description": "The ARIA label for the home page in the breadcrumbs"
|
||||
},
|
||||
"theme.docs.sidebar.collapseButtonTitle": {
|
||||
"message": "Colapsar barra lateral",
|
||||
"description": "The title attribute for collapse button of doc sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.collapseButtonAriaLabel": {
|
||||
"message": "Colapsar barra lateral",
|
||||
"description": "The title attribute for collapse button of doc sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.navAriaLabel": {
|
||||
"message": "Barra lateral de Documentos",
|
||||
"description": "The ARIA label for the sidebar navigation"
|
||||
},
|
||||
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
|
||||
"message": "Cerrar barra de lateral",
|
||||
"description": "The ARIA label for close button of mobile sidebar"
|
||||
},
|
||||
"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
|
||||
"message": "← Volver al menú principal",
|
||||
"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": "Alternar barra lateral",
|
||||
"description": "The ARIA label for hamburger menu button of mobile navigation"
|
||||
},
|
||||
"theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": {
|
||||
"message": "Expand the dropdown",
|
||||
"description": "The ARIA label of the button to expand the mobile dropdown navbar item"
|
||||
},
|
||||
"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": {
|
||||
"message": "Collapse the dropdown",
|
||||
"description": "The ARIA label of the button to collapse the mobile dropdown navbar item"
|
||||
},
|
||||
"theme.docs.sidebar.expandButtonTitle": {
|
||||
"message": "Expandir barra lateral",
|
||||
"description": "The ARIA label and title attribute for expand button of doc sidebar"
|
||||
},
|
||||
"theme.docs.sidebar.expandButtonAriaLabel": {
|
||||
"message": "Expandir barra lateral",
|
||||
"description": "The ARIA label and title attribute for expand button of doc sidebar"
|
||||
},
|
||||
"theme.blog.post.plurals": {
|
||||
"message": "Una publicación|{count} publicaciones",
|
||||
"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} etiquetados con \"{tagName}\"",
|
||||
"description": "The title of the page for a blog tag"
|
||||
},
|
||||
"theme.blog.author.pageTitle": {
|
||||
"message": "{authorName} - {nPosts}",
|
||||
"description": "The title of the page for a blog author"
|
||||
},
|
||||
"theme.blog.authorsList.pageTitle": {
|
||||
"message": "Authors",
|
||||
"description": "The title of the authors page"
|
||||
},
|
||||
"theme.blog.authorsList.viewAll": {
|
||||
"message": "View All Authors",
|
||||
"description": "The label of the link targeting the blog authors page"
|
||||
},
|
||||
"theme.blog.author.noPosts": {
|
||||
"message": "This author has not written any posts yet.",
|
||||
"description": "The text for authors with 0 blog post"
|
||||
},
|
||||
"theme.contentVisibility.unlistedBanner.title": {
|
||||
"message": "Página sin clasificar",
|
||||
"description": "The unlisted content banner title"
|
||||
},
|
||||
"theme.contentVisibility.unlistedBanner.message": {
|
||||
"message": "Esta página está sin clasificar. Los motores de búsqueda no la indexaran, y solo los usuarios con el enlace directo podrán acceder a esta.",
|
||||
"description": "The unlisted content banner message"
|
||||
},
|
||||
"theme.contentVisibility.draftBanner.title": {
|
||||
"message": "Draft page",
|
||||
"description": "The draft content banner title"
|
||||
},
|
||||
"theme.contentVisibility.draftBanner.message": {
|
||||
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
|
||||
"description": "The draft content banner message"
|
||||
},
|
||||
"theme.docs.DocCard.categoryDescription.plurals": {
|
||||
"message": "1 artículo|{count} artículos",
|
||||
"description": "The default description for a category card in the generated index about how many items this category includes"
|
||||
},
|
||||
"theme.ErrorPageContent.tryAgain": {
|
||||
"message": "Intente de nuevo",
|
||||
"description": "The label of the button to try again rendering when the React error boundary captures an error"
|
||||
},
|
||||
"theme.common.skipToMainContent": {
|
||||
"message": "Saltar al contenido principal",
|
||||
"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": "Etiquetas",
|
||||
"description": "The title of the tag list page"
|
||||
},
|
||||
"home.title": {
|
||||
"message": "Introducing Butter Box"
|
||||
},
|
||||
"home.subtitle1": {
|
||||
"message": "Life without internet made smoother."
|
||||
},
|
||||
"home.subtitle2": {
|
||||
"message": "Get access to tools that help."
|
||||
},
|
||||
"home.whatisbutterbox": {
|
||||
"message": "An app store, encrypted chat, and more, all available over WiFi from an off-the-grid Raspberry Pi."
|
||||
},
|
||||
"home.section1.title": {
|
||||
"message": "How does it work?"
|
||||
},
|
||||
"home.section1.description": {
|
||||
"message": "Butter Box broadcasts its own WiFi network. Once you join, you can install Butter, get apps, join a public chatroom, or make your own private one to share with friends. Butter Box works even when there's no Internet. Just stop by the box to download more apps or check in on your chatrooms. Everything is stored right on the Butter Box."
|
||||
},
|
||||
"home.learnmore": {
|
||||
"message": "Learn More"
|
||||
},
|
||||
"home.getbutter.title": {
|
||||
"message": "Get your own Butter Box"
|
||||
},
|
||||
"home.getbutter.description": {
|
||||
"message": "We help make & ship Butter Boxes to partners around the world. Reach out to us if you serve a community that could benefit."
|
||||
},
|
||||
"home.getintouch": {
|
||||
"message": "Get in Touch"
|
||||
},
|
||||
"home.makebutter.title": {
|
||||
"message": "Make your own Butter Box"
|
||||
},
|
||||
"home.makebutter.description": {
|
||||
"message": "You can make your own Butter Box by installing a pre-made image on a Raspberry Pi or even an old PC. Just download the image and burn it onto a MicroSD card or USB drive using the same RPi or Disk Imager you'd use to install other distros."
|
||||
},
|
||||
"home.learnhow": {
|
||||
"message": "Learn How!"
|
||||
},
|
||||
"home.getcode.title": {
|
||||
"message": "Or, customize your Butter Box following the instructions in our open source repository."
|
||||
},
|
||||
"home.getsource.button": {
|
||||
"message": "Source & Documentation"
|
||||
}
|
||||
}
|
||||
14
www/i18n/es/docusaurus-plugin-content-blog/options.json
Normal file
14
www/i18n/es/docusaurus-plugin-content-blog/options.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"title": {
|
||||
"message": "Blog",
|
||||
"description": "The title for the blog used in SEO"
|
||||
},
|
||||
"description": {
|
||||
"message": "Blog",
|
||||
"description": "The description for the blog used in SEO"
|
||||
},
|
||||
"sidebar.title": {
|
||||
"message": "Recent posts",
|
||||
"description": "The label for the left sidebar"
|
||||
}
|
||||
}
|
||||
30
www/i18n/es/docusaurus-plugin-content-docs/current.json
Normal file
30
www/i18n/es/docusaurus-plugin-content-docs/current.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "Next",
|
||||
"description": "The label for version current"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Build A Box": {
|
||||
"message": "Build A Box",
|
||||
"description": "The label for category 'Build A Box' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Raspberry Pi": {
|
||||
"message": "Raspberry Pi",
|
||||
"description": "The label for category 'Raspberry Pi' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Services": {
|
||||
"message": "Services",
|
||||
"description": "The label for category 'Services' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Content Packs": {
|
||||
"message": "Content Packs",
|
||||
"description": "The label for category 'Content Packs' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Apps": {
|
||||
"message": "Apps",
|
||||
"description": "The label for category 'Apps' in sidebar 'tutorialSidebar'"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.FAQ": {
|
||||
"message": "FAQ",
|
||||
"description": "The label for category 'FAQ' in sidebar 'tutorialSidebar'"
|
||||
}
|
||||
}
|
||||
38
www/i18n/es/docusaurus-theme-classic/footer.json
Normal file
38
www/i18n/es/docusaurus-theme-classic/footer.json
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"link.title.Docs": {
|
||||
"message": "Docs",
|
||||
"description": "The title of the footer links column with title=Docs in the footer"
|
||||
},
|
||||
"link.title.Community": {
|
||||
"message": "Community",
|
||||
"description": "The title of the footer links column with title=Community in the footer"
|
||||
},
|
||||
"link.title.More": {
|
||||
"message": "More",
|
||||
"description": "The title of the footer links column with title=More in the footer"
|
||||
},
|
||||
"link.item.label.Get Started": {
|
||||
"message": "Get Started",
|
||||
"description": "The label of footer link with label=Get Started linking to /docs/"
|
||||
},
|
||||
"link.item.label.Guardian Project": {
|
||||
"message": "Guardian Project",
|
||||
"description": "The label of footer link with label=Guardian Project linking to https://guardianproject.info"
|
||||
},
|
||||
"link.item.label.F-Droid": {
|
||||
"message": "F-Droid",
|
||||
"description": "The label of footer link with label=F-Droid linking to https://f-droid.org"
|
||||
},
|
||||
"link.item.label.Blog": {
|
||||
"message": "Blog",
|
||||
"description": "The label of footer link with label=Blog linking to /blog"
|
||||
},
|
||||
"link.item.label.GP Repo": {
|
||||
"message": "GP Repo",
|
||||
"description": "The label of footer link with label=GP Repo linking to https://guardianproject.dev/butter"
|
||||
},
|
||||
"copyright": {
|
||||
"message": "Copyright © 2026 Guardian Project. Built with Docusaurus.",
|
||||
"description": "The footer copyright"
|
||||
}
|
||||
}
|
||||
22
www/i18n/es/docusaurus-theme-classic/navbar.json
Normal file
22
www/i18n/es/docusaurus-theme-classic/navbar.json
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"title": {
|
||||
"message": "Butter",
|
||||
"description": "The title in the navbar"
|
||||
},
|
||||
"logo.alt": {
|
||||
"message": "Butter App Logo",
|
||||
"description": "The alt text of navbar logo"
|
||||
},
|
||||
"item.label.How To": {
|
||||
"message": "How To",
|
||||
"description": "Navbar item with label How To"
|
||||
},
|
||||
"item.label.Get In Touch": {
|
||||
"message": "Get In Touch",
|
||||
"description": "Navbar item with label Get In Touch"
|
||||
},
|
||||
"item.label.Blog": {
|
||||
"message": "Blog",
|
||||
"description": "Navbar item with label Blog"
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,8 @@ import type {ReactNode} from 'react';
|
|||
import Layout from '@theme/Layout';
|
||||
import Heading from '@theme/Heading';
|
||||
|
||||
import Translate, {translate} from '@docusaurus/Translate';
|
||||
|
||||
const CONTACT_US = '/contact';
|
||||
const BOOT_IMAGES = '/docs/build-a-box';
|
||||
const REPO = 'https://guardianproject.dev/butter';
|
||||
|
|
@ -17,11 +19,11 @@ function Hero() {
|
|||
alt="Butter App Feature Logo"
|
||||
/>
|
||||
<Heading as="h1" className="hero-title">
|
||||
Introducing Butter Box
|
||||
<Translate id="home.title">Introducing Butter Box</Translate>
|
||||
</Heading>
|
||||
<p className="hero-subtitle">
|
||||
No Internet? No electricity? No problem.<br/>
|
||||
Bring internet services and sites where they are not.
|
||||
<Translate id="home.subtitle1">Life without internet made smoother.</Translate><br/>
|
||||
<Translate id="home.subtitle2">Get access to tools that help.</Translate>
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
|
|
@ -42,66 +44,65 @@ export default function Home(): ReactNode {
|
|||
alt="A Butter Box: A Raspberry Pi Zero W 2 plugged into a battery and solar panel."
|
||||
/>
|
||||
<p className="caption">
|
||||
An app store, encrypted chat, and more, all available over WiFi
|
||||
from an off-the-grid Raspberry Pi.
|
||||
<Translate id="home.whatisbutterbox">An app store, encrypted chat, and more, all available over WiFi from an off-the-grid Raspberry Pi.</Translate>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<section className="section">
|
||||
<Heading as="h2">How does it work?</Heading>
|
||||
<Heading as="h2"><Translate id="home.section1.title">How does it work?</Translate></Heading>
|
||||
<p className="content-text">
|
||||
Butter Box broadcasts its own WiFi network. Once you join, you
|
||||
<Translate id="home.section1.description">Butter Box broadcasts its own WiFi network. Once you join, you
|
||||
can install Butter, get apps, join a public chatroom, or make
|
||||
your own private one to share with friends. Butter Box works
|
||||
even when there's no Internet. Just stop by the box to
|
||||
download more apps or check in on your chatrooms. Everything is
|
||||
stored right on the Butter Box.
|
||||
stored right on the Butter Box.</Translate>
|
||||
</p>
|
||||
<img
|
||||
src="/img/docs/20250815_142828.jpg"
|
||||
alt="A Butter Box: A Raspberry Pi Zero W 2 plugged into a battery and solar panel."
|
||||
/>
|
||||
<a className="btn-main" target="_blank" rel="noreferrer" href={DOCS}>
|
||||
Learn More
|
||||
<Translate id="home.learnmore">Learn More</Translate>
|
||||
</a>
|
||||
</section>
|
||||
|
||||
<section className="section">
|
||||
<Heading as="h2">Get your own Butter Box</Heading>
|
||||
<Heading as="h2"><Translate id="home.getbutter.title">Get your own Butter Box</Translate></Heading>
|
||||
<p className="content-text">
|
||||
We help make & ship Butter Boxes to partners around the world.
|
||||
Reach out to us if you serve a community that could benefit.
|
||||
<Translate id="home.getbutter.description">We help make & ship Butter Boxes to partners around the world.
|
||||
Reach out to us if you serve a community that could benefit.</Translate>
|
||||
</p>
|
||||
<a className="btn-main" href={`${CONTACT_US}`}>
|
||||
Get in Touch
|
||||
<Translate id="home.getintouch">Get in Touch</Translate>
|
||||
</a>
|
||||
</section>
|
||||
|
||||
<section className="section">
|
||||
<Heading as="h2">Make your own Butter Box</Heading>
|
||||
<Heading as="h2"><Translate id="home.makebutter.title">Make your own Butter Box</Translate></Heading>
|
||||
<p className="content-text">
|
||||
You can make your own Butter Box by installing a pre-made image
|
||||
<Translate id="home.makebutter.description">You can make your own Butter Box by installing a pre-made image
|
||||
on a Raspberry Pi or even an old PC. Just download the image and burn it onto a
|
||||
MicroSD card or USB drive using the same RPi or Disk Imager you'd use to install
|
||||
other distros.
|
||||
other distros.</Translate>
|
||||
</p>
|
||||
<a
|
||||
className="btn-main"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href={BOOT_IMAGES}>
|
||||
Learn How!
|
||||
<Translate id="home.learnhow">Learn How!</Translate>
|
||||
</a>
|
||||
<p className="content-text" style={{marginTop: '1.5rem'}}>
|
||||
Or, customize your Butter Box following the instructions in our
|
||||
open source repository.
|
||||
<Translate id="home.getcode.title">Or, customize your Butter Box following the instructions in our
|
||||
open source repository.</Translate>
|
||||
</p>
|
||||
<a
|
||||
className="btn-main"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href={`${REPO}`}>
|
||||
Source & Documentation
|
||||
<Translate id="home.getsource.button">Source & Documentation</Translate>
|
||||
</a>
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue