Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* New translations README.md (Chinese Simplified) * New translations cos.md (Chinese Simplified) * New translations s3.md (Chinese Simplified) * New translations qingstor.md (Chinese Simplified) * New translations oss.md (Chinese Simplified) * New translations kodo.md (Chinese Simplified) * New translations gcs.md (Chinese Simplified) * New translations fs.md (Chinese Simplified) * New translations dropbox.md (Chinese Simplified) * New translations azblob.md (Chinese Simplified) * New translations README.md (Chinese Simplified) * New translations README.md (Chinese Simplified) * New translations storager.md (Chinese Simplified) * New translations statistician.md (Chinese Simplified) * New translations servicer.md (Chinese Simplified) * New translations segmenter.md (Chinese Simplified) * New translations reacher.md (Chinese Simplified) * New translations prefix_segments_lister.md (Chinese Simplified) * New translations prefix_lister.md (Chinese Simplified) * New translations uss.md (Chinese Simplified) * New translations footer.json (Chinese Simplified) * New translations current.json (Chinese Simplified) * New translations code.json (Chinese Simplified) * New translations navbar.json (Chinese Simplified)
- Loading branch information
Showing
24 changed files
with
813 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
{ | ||
"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.AnnouncementBar.closeButtonAriaLabel": { | ||
"message": "Close", | ||
"description": "The ARIA label for close button of announcement bar" | ||
}, | ||
"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.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.tags.tagsListLabel": { | ||
"message": "Tags:", | ||
"description": "The label alongside a tag list" | ||
}, | ||
"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.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.tagsPageTitle": { | ||
"message": "Tags", | ||
"description": "The title of the tag list page" | ||
}, | ||
"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.CodeBlock.copyButtonAriaLabel": { | ||
"message": "Copy code to clipboard", | ||
"description": "The ARIA label for copy code blocks button" | ||
}, | ||
"theme.CodeBlock.copied": { | ||
"message": "Copied", | ||
"description": "The copied button label on code blocks" | ||
}, | ||
"theme.CodeBlock.copy": { | ||
"message": "Copy", | ||
"description": "The copy button label on code blocks" | ||
}, | ||
"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.docs.paginator.navAriaLabel": { | ||
"message": "Docs pages navigation", | ||
"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.sidebar.responsiveCloseButtonLabel": { | ||
"message": "Close menu", | ||
"description": "The ARIA label for close button of mobile doc sidebar" | ||
}, | ||
"theme.docs.sidebar.responsiveOpenButtonLabel": { | ||
"message": "Open menu", | ||
"description": "The ARIA label for open button of mobile doc sidebar" | ||
}, | ||
"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.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 userd to tell the user that he's browsing an unmaintained doc 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.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.SearchPage.documentsFound.plurals": { | ||
"message": "One document found|{count} documents found", | ||
"description": "Pluralized label for \"{count} documents found\". 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.SearchPage.existingResultsTitle": { | ||
"message": "Search results for \"{query}\"", | ||
"description": "The search page title for non-empty query" | ||
}, | ||
"theme.SearchPage.emptyResultsTitle": { | ||
"message": "Search the documentation", | ||
"description": "The search page title for empty query" | ||
}, | ||
"theme.SearchPage.inputPlaceholder": { | ||
"message": "Type your search here", | ||
"description": "The placeholder for search page input" | ||
}, | ||
"theme.SearchPage.inputLabel": { | ||
"message": "Search", | ||
"description": "The ARIA label for search page input" | ||
}, | ||
"theme.SearchPage.algoliaLabel": { | ||
"message": "Search by Algolia", | ||
"description": "The ARIA label for Algolia mention" | ||
}, | ||
"theme.SearchPage.noResultsText": { | ||
"message": "No results were found", | ||
"description": "The paragraph for empty search result" | ||
}, | ||
"theme.SearchPage.fetchingNewResults": { | ||
"message": "Fetching new results...", | ||
"description": "The paragraph for fetching new search results" | ||
}, | ||
"theme.SearchBar.label": { | ||
"message": "Search", | ||
"description": "The ARIA label and placeholder for search button" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"version.label": { | ||
"message": "Next", | ||
"description": "The label for version current" | ||
}, | ||
"sidebar.docs.category.Golang": { | ||
"message": "Golang", | ||
"description": "The label for category Golang in sidebar docs" | ||
}, | ||
"sidebar.docs.category.Operations": { | ||
"message": "Operations", | ||
"description": "The label for category Operations in sidebar docs" | ||
}, | ||
"sidebar.docs.category.Services": { | ||
"message": "Services", | ||
"description": "The label for category Services in sidebar docs" | ||
} | ||
} |
116 changes: 116 additions & 0 deletions
116
i18n/zh_Hans/docusaurus-plugin-content-docs/current/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
--- | ||
slug: / | ||
title: Introduction | ||
--- | ||
|
||
[![Build Status](https://github.com/aos-dev/go-storage/workflows/Unittest/badge.svg?branch=master)](https://github.com/aos-dev/go-storage/actions?query=workflow%3AUnittest) [![Go dev](https://godoc.org/github.com/aos-dev/go-storage?status.svg)](https://godoc.org/github.com/aos-dev/go-storage) [![License](https://img.shields.io/badge/license-apache%20v2-blue.svg)](https://github.com/Xuanwo/storage/blob/master/LICENSE) [![Join the chat](https://img.shields.io/badge/chat-online-blue?style=flat&logo=zulip)](https://aos-dev.zulipchat.com/join/c3sqj64sp53tlau7oojg3yll/) | ||
|
||
An application-oriented unified storage layer for Golang. | ||
|
||
## Goal | ||
|
||
- Production ready | ||
- High performance | ||
- Vendor agnostic | ||
|
||
## Features | ||
|
||
### Widely services support | ||
|
||
- [azblob](./golang/services/azblob/): [Azure Blob storage](https://docs.microsoft.com/en-us/azure/storage/blobs/) | ||
- [cos](./golang/services/cos/): [Tencent Cloud Object Storage](https://cloud.tencent.com/product/cos) | ||
- [dropbox](./golang/services/dropbox/): [Dropbox](https://www.dropbox.com) | ||
- [fs](./golang/services/fs/): Local file system | ||
- [gcs](./golang/services/gcs/): [Google Cloud Storage](https://cloud.google.com/storage/) | ||
- [kodo](./golang/services/kodo/): [qiniu kodo](https://www.qiniu.com/products/kodo) | ||
- [oss](./golang/services/oss/): [Aliyun Object Storage](https://www.aliyun.com/product/oss) | ||
- [qingstor](./golang/services/qingstor/): [QingStor Object Storage](https://www.qingcloud.com/products/qingstor/) | ||
- [s3](./golang/services/s3/): [Amazon S3](https://aws.amazon.com/s3/) | ||
- [uss](./golang/services/uss/): [UPYUN Storage Service](https://www.upyun.com/products/file-storage) | ||
|
||
### Servicer operation support | ||
|
||
- List: list all Storager in service | ||
- Get: get a Storager via name | ||
- Create: create a Storager | ||
- Delete: delete a Storager | ||
|
||
### Storager operation support | ||
|
||
Basic operations | ||
|
||
- Metadata: get storager's metadata | ||
- Read: read file content | ||
- Write: write content into file | ||
- Stat: get file's metadata | ||
- Delete: delete a file or directory | ||
|
||
Extended operations | ||
|
||
- Copy: copy a file inside storager | ||
- Move: move a file inside storager | ||
- Reach: generate a public accessible url | ||
- Statistical: get storage service's statistics | ||
|
||
Multiple list style support | ||
|
||
- ListDir: list files and directories under a directory | ||
- ListPrefix: list files under a prefix | ||
|
||
Segment/Multipart support | ||
|
||
- ListPrefixSegment: list segments under a prefix | ||
- InitIndexSegment: initiate an index type segment | ||
- WriteIndexSegment: write content into an index type segment | ||
- CompleteSegment: complete a segment to create a file | ||
- AbortSegment: abort a segment | ||
|
||
### File metadata support | ||
|
||
Required metadata | ||
|
||
- `id`: unique key in service | ||
- `name`: relative path towards service's work dir | ||
- `type`: object type cloud be `file`, `dir`, `link` or `unknown` | ||
|
||
Optional metadata | ||
|
||
- `size`: object's content size. | ||
- `updated_at`: object's last updated time. | ||
- `content-md5`: md5 digest as defined in [rfc2616](https://tools.ietf.org/html/rfc2616#section-14.15) | ||
- `content-type`: media type as defined in [rfc2616](https://tools.ietf.org/html/rfc2616#section-14.17) | ||
- `etag`: entity tag as defined in [rfc2616](https://tools.ietf.org/html/rfc2616#section-14.19) | ||
- `storage-class`: object's storage class | ||
|
||
## Quick Start | ||
|
||
```go | ||
import ( | ||
"log" | ||
|
||
"github.com/aos-dev/go-storage/v2" | ||
"github.com/aos-dev/go-storage/v2/pairs" | ||
"github.com/aos-dev/go-services-fs" | ||
) | ||
|
||
// Init a service. | ||
store, err := fs.NewStorager(pairs.WithWorkDir("/tmp")) | ||
if err != nil { | ||
log.Fatalf("service init failed: %v", err) | ||
} | ||
|
||
// Use Storager API to maintain data. | ||
var buf bytes.Buffer | ||
|
||
n, err := store.Read("path/to/file", &buf) | ||
if err != nil { | ||
log.Printf("storager read: %v", err) | ||
} | ||
``` | ||
|
||
## Sponsor | ||
|
||
<a href="https://vercel.com?utm_source=aos-dev&utm_campaign=oss"> | ||
<img src="/img/vercel_logo_dark.svg" /> | ||
</a> | ||
|
27 changes: 27 additions & 0 deletions
27
i18n/zh_Hans/docusaurus-plugin-content-docs/current/golang/operations/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
title: Introduction | ||
--- | ||
|
||
## Servicer | ||
|
||
[servicer](./servicer/) is used to maintain multiple storage services. | ||
|
||
## Storager | ||
|
||
[storager](./storager/) is the interface for storage service. | ||
|
||
## Prefix Lister | ||
|
||
[prefix_lister](./prefix_lister/) is the interface to list prefix. | ||
|
||
## Prefix Segments Lister | ||
|
||
[prefix_segments_lister](./prefix_segments_lister/) used to list prefix segments. | ||
|
||
## Reacher | ||
|
||
[reacher](./reacher/) used to reach an Object. | ||
|
||
## Statistician | ||
|
||
[statistician](./statistician/) used to get storage's statistics. |
9 changes: 9 additions & 0 deletions
9
..._Hans/docusaurus-plugin-content-docs/current/golang/operations/prefix_lister.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
PrefixLister is used for prefix based storage service to list objects under a prefix. | ||
|
||
## ListPrefix | ||
|
||
ListPrefix will return list a specific prefix. | ||
|
||
Caller: | ||
|
||
- prefix SHOULD NOT start with /, and SHOULD relative to workdir. |
9 changes: 9 additions & 0 deletions
9
...usaurus-plugin-content-docs/current/golang/operations/prefix_segments_lister.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
PrefixSegmentsLister is used for prefix based storage service to list segments under a prefix. | ||
|
||
## ListPrefixSegments | ||
|
||
ListPrefixSegments will list segments. | ||
|
||
Implementer: | ||
|
||
- If prefix == "", services should return all segments. |
9 changes: 9 additions & 0 deletions
9
i18n/zh_Hans/docusaurus-plugin-content-docs/current/golang/operations/reacher.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Reacher is the interface for Reach. | ||
|
||
## Reach | ||
|
||
Reach will provide a way, which can reach the object. | ||
|
||
Implementer: | ||
|
||
- SHOULD return a publicly reachable http url. |
Oops, something went wrong.
f7e1534
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs: