Compare commits
	
		
			2 commits
		
	
	
		
			2d558bf6f0
			...
			e904c0733b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e904c0733b | |||
| 2228c8035d | 
					 13 changed files with 824 additions and 2 deletions
				
			
		| 
						 | 
					@ -88,7 +88,7 @@ start_hook_daemon(){
 | 
				
			||||||
    echocolor "[$APPNAME]" "listening to inotify events in $dir"
 | 
					    echocolor "[$APPNAME]" "listening to inotify events in $dir"
 | 
				
			||||||
    # scan for '/mnt/experiences/creatorname/#234/ MODIFY foo.glb' e.g.
 | 
					    # scan for '/mnt/experiences/creatorname/#234/ MODIFY foo.glb' e.g.
 | 
				
			||||||
    # scan for '/mnt/experiences/creatorname/#234/ MOVED_TO foo.glb' e.g.
 | 
					    # scan for '/mnt/experiences/creatorname/#234/ MOVED_TO foo.glb' e.g.
 | 
				
			||||||
    inotifywait -r -m $dir | awk '$2 ~ /(CREATE|MODIFY|MOVED_TO|DELETE)/ { system("'$0' hook inotify_"$2" "$1""$3) }' &
 | 
					    inotifywait -r -m $dir | awk '/.*/ { print $0 }; $2 ~ /(CREATE|MODIFY|MOVED_TO|DELETE)/ && $3 ~ /datapackage/ { system("'$0' hook datapackage_"$2" "$1""$3) }' &
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # force-trigger processing hooks in /mnt
 | 
					  # force-trigger processing hooks in /mnt
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								manyfold/root/hook.d/datapackage_MOVED_TO
									
										
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								manyfold/root/hook.d/datapackage_MOVED_TO
									
										
									
									
									
										Symbolic link
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					datapackage_MODIFY
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
inotify_MODIFY
 | 
					 | 
				
			||||||
							
								
								
									
										20
									
								
								manyfold/usr/src/app/config/initializers/xrforge.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								manyfold/usr/src/app/config/initializers/xrforge.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					Rails.application.config.to_prepare do
 | 
				
			||||||
 | 
					  Model # Zeitwerk autoload model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Reopen the Model class to add new functionality
 | 
				
			||||||
 | 
					  # This must match the name of your ActiveRecord class exactly.
 | 
				
			||||||
 | 
					  class Model
 | 
				
			||||||
 | 
					    # The 'after_save' macro is now run within the context of the existing Model class.
 | 
				
			||||||
 | 
					    after_save :execute_initializer_after_save
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Define the new method to be executed on save.
 | 
				
			||||||
 | 
					    def execute_initializer_after_save
 | 
				
			||||||
 | 
					      # Your custom logic to execute after Model.save or Model.update! goes here.
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      # 📝 Example Logic:
 | 
				
			||||||
 | 
					      puts "\n-------- JA --------- #{self.id}\n\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										802
									
								
								manyfold/usr/src/app/config/locales/en.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										802
									
								
								manyfold/usr/src/app/config/locales/en.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,802 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					en:
 | 
				
			||||||
 | 
					  activerecord:
 | 
				
			||||||
 | 
					    attributes:
 | 
				
			||||||
 | 
					      collection:
 | 
				
			||||||
 | 
					        ai_indexable: Allow use for AI training
 | 
				
			||||||
 | 
					        caption: Caption
 | 
				
			||||||
 | 
					        collection: Parent Collection
 | 
				
			||||||
 | 
					        indexable: Allow search indexing
 | 
				
			||||||
 | 
					        models: Experiences
 | 
				
			||||||
 | 
					        name: Name
 | 
				
			||||||
 | 
					        notes: Description
 | 
				
			||||||
 | 
					      creator:
 | 
				
			||||||
 | 
					        ai_indexable: Allow use for AI training
 | 
				
			||||||
 | 
					        caption: Tagline
 | 
				
			||||||
 | 
					        indexable: Allow search indexing
 | 
				
			||||||
 | 
					        name: Creator Name
 | 
				
			||||||
 | 
					        notes: Description
 | 
				
			||||||
 | 
					        slug: Handle
 | 
				
			||||||
 | 
					      doorkeeper/application:
 | 
				
			||||||
 | 
					        access_token: Access Token
 | 
				
			||||||
 | 
					        confidential: Confidential
 | 
				
			||||||
 | 
					        created_at: Created
 | 
				
			||||||
 | 
					        name: Name
 | 
				
			||||||
 | 
					        owner: Owner
 | 
				
			||||||
 | 
					        redirect_uri: Redirect URI
 | 
				
			||||||
 | 
					        scopes: Scopes
 | 
				
			||||||
 | 
					        secret: Client Secret
 | 
				
			||||||
 | 
					        uid: Client ID
 | 
				
			||||||
 | 
					      federails/moderation/domain_block:
 | 
				
			||||||
 | 
					        created_at: Created at
 | 
				
			||||||
 | 
					        domain: Domain
 | 
				
			||||||
 | 
					      federails/moderation/report:
 | 
				
			||||||
 | 
					        content: Comment
 | 
				
			||||||
 | 
					        created_at: Received at
 | 
				
			||||||
 | 
					        federails_actor: Reported by
 | 
				
			||||||
 | 
					        object: Object
 | 
				
			||||||
 | 
					      library:
 | 
				
			||||||
 | 
					        caption: Caption
 | 
				
			||||||
 | 
					        create_path_if_not_on_disk: Auto-create folder
 | 
				
			||||||
 | 
					        default: Default
 | 
				
			||||||
 | 
					        icon: Icon
 | 
				
			||||||
 | 
					        name: Name
 | 
				
			||||||
 | 
					        notes: Notes
 | 
				
			||||||
 | 
					        path: Path
 | 
				
			||||||
 | 
					        s3_access_key_id: Access Key ID
 | 
				
			||||||
 | 
					        s3_bucket: Bucket Name
 | 
				
			||||||
 | 
					        s3_endpoint: Endpoint URL
 | 
				
			||||||
 | 
					        s3_path_style: Use path-style URLs
 | 
				
			||||||
 | 
					        s3_region: Region
 | 
				
			||||||
 | 
					        s3_secret_access_key: Secret Access Key
 | 
				
			||||||
 | 
					        storage_service: Storage Service
 | 
				
			||||||
 | 
					        tag_regex: Required Tags
 | 
				
			||||||
 | 
					      link:
 | 
				
			||||||
 | 
					        url: Link
 | 
				
			||||||
 | 
					      model:
 | 
				
			||||||
 | 
					        ai_indexable: Allow use for AI training
 | 
				
			||||||
 | 
					        caption: Caption
 | 
				
			||||||
 | 
					        collection: Collection
 | 
				
			||||||
 | 
					        collection_id: Collection
 | 
				
			||||||
 | 
					        creator: Creator
 | 
				
			||||||
 | 
					        creator_id: Creator
 | 
				
			||||||
 | 
					        images: Images
 | 
				
			||||||
 | 
					        indexable: Allow search indexing
 | 
				
			||||||
 | 
					        library_id: Library
 | 
				
			||||||
 | 
					        license: License
 | 
				
			||||||
 | 
					        model_files: Files
 | 
				
			||||||
 | 
					        name: Name
 | 
				
			||||||
 | 
					        notes: Description
 | 
				
			||||||
 | 
					        path: Path
 | 
				
			||||||
 | 
					        preview_file: Preview File
 | 
				
			||||||
 | 
					        sensitive: Sensitive Content
 | 
				
			||||||
 | 
					        tags: Tags
 | 
				
			||||||
 | 
					      model_file:
 | 
				
			||||||
 | 
					        caption: Caption
 | 
				
			||||||
 | 
					        digest: Digest
 | 
				
			||||||
 | 
					        filename: Filename
 | 
				
			||||||
 | 
					        model_id: Model
 | 
				
			||||||
 | 
					        notes: Notes
 | 
				
			||||||
 | 
					        presupported: Presupported
 | 
				
			||||||
 | 
					        presupported_version: Presupported version
 | 
				
			||||||
 | 
					        printed: Printed
 | 
				
			||||||
 | 
					        size: File Size
 | 
				
			||||||
 | 
					        unsupported_version: Unsupported version
 | 
				
			||||||
 | 
					        y_up: Y Up
 | 
				
			||||||
 | 
					      problem:
 | 
				
			||||||
 | 
					        category: Category
 | 
				
			||||||
 | 
					        ignored: Hidden
 | 
				
			||||||
 | 
					        note: Note
 | 
				
			||||||
 | 
					        problematic_type: Object Type
 | 
				
			||||||
 | 
					        severity: Severity
 | 
				
			||||||
 | 
					      user:
 | 
				
			||||||
 | 
					        approved: Account pending
 | 
				
			||||||
 | 
					        confirmation_sent_at: Confirmation sent at
 | 
				
			||||||
 | 
					        confirmation_token: Confirmation token
 | 
				
			||||||
 | 
					        confirmed_at: Confirmed at
 | 
				
			||||||
 | 
					        created_at: Created at
 | 
				
			||||||
 | 
					        current_password: Current password
 | 
				
			||||||
 | 
					        current_sign_in_at: Current sign in at
 | 
				
			||||||
 | 
					        current_sign_in_ip: Current sign in IP
 | 
				
			||||||
 | 
					        email: Email
 | 
				
			||||||
 | 
					        encrypted_password: Encrypted password
 | 
				
			||||||
 | 
					        failed_attempts: Failed attempts
 | 
				
			||||||
 | 
					        last_sign_in_at: Last sign in at
 | 
				
			||||||
 | 
					        last_sign_in_ip: Last sign in IP
 | 
				
			||||||
 | 
					        locked_at: Locked at
 | 
				
			||||||
 | 
					        password: Password
 | 
				
			||||||
 | 
					        password_confirmation: Confirm password
 | 
				
			||||||
 | 
					        remember_created_at: Remember created at
 | 
				
			||||||
 | 
					        remember_me: Remember me
 | 
				
			||||||
 | 
					        reset_password_sent_at: Reset password sent at
 | 
				
			||||||
 | 
					        reset_password_token: Reset password token
 | 
				
			||||||
 | 
					        sign_in_count: Sign in count
 | 
				
			||||||
 | 
					        unconfirmed_email: Unconfirmed email
 | 
				
			||||||
 | 
					        unlock_token: Unlock token
 | 
				
			||||||
 | 
					        updated_at: Updated at
 | 
				
			||||||
 | 
					        username: Account name
 | 
				
			||||||
 | 
					    errors:
 | 
				
			||||||
 | 
					      models:
 | 
				
			||||||
 | 
					        collection:
 | 
				
			||||||
 | 
					          attributes:
 | 
				
			||||||
 | 
					            collection:
 | 
				
			||||||
 | 
					              private: must be public
 | 
				
			||||||
 | 
					            creator:
 | 
				
			||||||
 | 
					              private: must be public
 | 
				
			||||||
 | 
					        doorkeeper/application:
 | 
				
			||||||
 | 
					          attributes:
 | 
				
			||||||
 | 
					            redirect_uri:
 | 
				
			||||||
 | 
					              forbidden_uri: is forbidden by the server.
 | 
				
			||||||
 | 
					              fragment_present: cannot contain a fragment.
 | 
				
			||||||
 | 
					              invalid_uri: must be a valid URI.
 | 
				
			||||||
 | 
					              relative_uri: must be an absolute URI.
 | 
				
			||||||
 | 
					              secured_uri: must be an HTTPS/SSL URI.
 | 
				
			||||||
 | 
					              unspecified_scheme: must specify a scheme.
 | 
				
			||||||
 | 
					            scopes:
 | 
				
			||||||
 | 
					              not_match_configured: doesn't match configured on the server.
 | 
				
			||||||
 | 
					        library:
 | 
				
			||||||
 | 
					          attributes:
 | 
				
			||||||
 | 
					            path:
 | 
				
			||||||
 | 
					              cannot_be_contained: cannot be inside another library
 | 
				
			||||||
 | 
					              cannot_contain: cannot contain other libraries
 | 
				
			||||||
 | 
					              non_writable: must be writable
 | 
				
			||||||
 | 
					              not_found: could not be found on disk
 | 
				
			||||||
 | 
					              unsafe: cannot be a privileged system path
 | 
				
			||||||
 | 
					        model:
 | 
				
			||||||
 | 
					          attributes:
 | 
				
			||||||
 | 
					            creator:
 | 
				
			||||||
 | 
					              private: must be public
 | 
				
			||||||
 | 
					            library:
 | 
				
			||||||
 | 
					              nested: can't be changed, model contains other models
 | 
				
			||||||
 | 
					            license:
 | 
				
			||||||
 | 
					              invalid_spdx: is not a valid license
 | 
				
			||||||
 | 
					            path:
 | 
				
			||||||
 | 
					              destination_exists: already exists
 | 
				
			||||||
 | 
					              nested: can't be changed, model contains other models
 | 
				
			||||||
 | 
					        model_file:
 | 
				
			||||||
 | 
					          attributes:
 | 
				
			||||||
 | 
					            filename:
 | 
				
			||||||
 | 
					              cannot_change_type: is not the same file type
 | 
				
			||||||
 | 
					              case_change_only: cannot be a case-only change
 | 
				
			||||||
 | 
					            presupported_version:
 | 
				
			||||||
 | 
					              already_presupported: cannot be set on a presupported file
 | 
				
			||||||
 | 
					              not_supported: is not a presupported file
 | 
				
			||||||
 | 
					    models:
 | 
				
			||||||
 | 
					      acts_as_taggable_on/tag:
 | 
				
			||||||
 | 
					        few: Tags
 | 
				
			||||||
 | 
					        many: Tags
 | 
				
			||||||
 | 
					        one: Tag
 | 
				
			||||||
 | 
					        other: Tags
 | 
				
			||||||
 | 
					        two: Tags
 | 
				
			||||||
 | 
					        zero: Tags
 | 
				
			||||||
 | 
					      collection:
 | 
				
			||||||
 | 
					        few: Collections
 | 
				
			||||||
 | 
					        many: Collections
 | 
				
			||||||
 | 
					        one: Collection
 | 
				
			||||||
 | 
					        other: Collections
 | 
				
			||||||
 | 
					        two: Collections
 | 
				
			||||||
 | 
					        zero: Collections
 | 
				
			||||||
 | 
					      creator:
 | 
				
			||||||
 | 
					        few: Creators
 | 
				
			||||||
 | 
					        many: Creators
 | 
				
			||||||
 | 
					        one: Creator
 | 
				
			||||||
 | 
					        other: Creators
 | 
				
			||||||
 | 
					        two: Creators
 | 
				
			||||||
 | 
					        zero: Creators
 | 
				
			||||||
 | 
					      federails/moderation/domain_block:
 | 
				
			||||||
 | 
					        few: Domain Blocks
 | 
				
			||||||
 | 
					        many: Domain Blocks
 | 
				
			||||||
 | 
					        one: Domain Block
 | 
				
			||||||
 | 
					        other: Domain Blocks
 | 
				
			||||||
 | 
					        two: Domain Blocks
 | 
				
			||||||
 | 
					        zero: Domain Blocks
 | 
				
			||||||
 | 
					      federails/moderation/report:
 | 
				
			||||||
 | 
					        few: Reports
 | 
				
			||||||
 | 
					        many: Reports
 | 
				
			||||||
 | 
					        one: Report
 | 
				
			||||||
 | 
					        other: Reports
 | 
				
			||||||
 | 
					        two: Reports
 | 
				
			||||||
 | 
					        zero: Reports
 | 
				
			||||||
 | 
					      library:
 | 
				
			||||||
 | 
					        few: Libraries
 | 
				
			||||||
 | 
					        many: Libraries
 | 
				
			||||||
 | 
					        one: Library
 | 
				
			||||||
 | 
					        other: Libraries
 | 
				
			||||||
 | 
					        two: Libraries
 | 
				
			||||||
 | 
					        zero: Libraries
 | 
				
			||||||
 | 
					      link:
 | 
				
			||||||
 | 
					        few: Links
 | 
				
			||||||
 | 
					        many: Links
 | 
				
			||||||
 | 
					        one: Link
 | 
				
			||||||
 | 
					        other: Links
 | 
				
			||||||
 | 
					        two: Links
 | 
				
			||||||
 | 
					        zero: Links
 | 
				
			||||||
 | 
					      model:
 | 
				
			||||||
 | 
					        few: Experiences
 | 
				
			||||||
 | 
					        many: Experiences
 | 
				
			||||||
 | 
					        one: Experience
 | 
				
			||||||
 | 
					        other: Experiences
 | 
				
			||||||
 | 
					        two: Experiences
 | 
				
			||||||
 | 
					        zero: Experiences
 | 
				
			||||||
 | 
					      model_file:
 | 
				
			||||||
 | 
					        few: Files
 | 
				
			||||||
 | 
					        many: Files
 | 
				
			||||||
 | 
					        one: File
 | 
				
			||||||
 | 
					        other: Files
 | 
				
			||||||
 | 
					        two: Files
 | 
				
			||||||
 | 
					        zero: Files
 | 
				
			||||||
 | 
					      problem:
 | 
				
			||||||
 | 
					        few: Problems
 | 
				
			||||||
 | 
					        many: Problems
 | 
				
			||||||
 | 
					        one: Problem
 | 
				
			||||||
 | 
					        other: Problems
 | 
				
			||||||
 | 
					        two: Problems
 | 
				
			||||||
 | 
					        zero: Problems
 | 
				
			||||||
 | 
					      user:
 | 
				
			||||||
 | 
					        few: Accounts
 | 
				
			||||||
 | 
					        many: Accounts
 | 
				
			||||||
 | 
					        one: Account
 | 
				
			||||||
 | 
					        other: Accounts
 | 
				
			||||||
 | 
					        two: Accounts
 | 
				
			||||||
 | 
					        zero: Accounts
 | 
				
			||||||
 | 
					  activity:
 | 
				
			||||||
 | 
					    index:
 | 
				
			||||||
 | 
					      description: Entries are discard after %{retention_period}.
 | 
				
			||||||
 | 
					      message: Message
 | 
				
			||||||
 | 
					      name: Name
 | 
				
			||||||
 | 
					      time: When
 | 
				
			||||||
 | 
					      title: Recent Activity
 | 
				
			||||||
 | 
					  activity_helper:
 | 
				
			||||||
 | 
					    status_icon:
 | 
				
			||||||
 | 
					      completed: Complete
 | 
				
			||||||
 | 
					      error: Errored
 | 
				
			||||||
 | 
					      queued: Queued
 | 
				
			||||||
 | 
					      working: Working
 | 
				
			||||||
 | 
					  application:
 | 
				
			||||||
 | 
					    caber_relation_fields:
 | 
				
			||||||
 | 
					      delete: Delete
 | 
				
			||||||
 | 
					      permissions:
 | 
				
			||||||
 | 
					        edit: Can edit
 | 
				
			||||||
 | 
					        own: Owner (can view, edit, delete, and share)
 | 
				
			||||||
 | 
					        preview: 'Preview: specific previewable files only'
 | 
				
			||||||
 | 
					        view: View only
 | 
				
			||||||
 | 
					      subject:
 | 
				
			||||||
 | 
					        placeholder: Email address, account name, or role
 | 
				
			||||||
 | 
					        role:
 | 
				
			||||||
 | 
					          member: Any logged-in local account
 | 
				
			||||||
 | 
					          public: Everyone (without login)
 | 
				
			||||||
 | 
					        you: "(you)"
 | 
				
			||||||
 | 
					    caber_relations_form:
 | 
				
			||||||
 | 
					      add: add another permission
 | 
				
			||||||
 | 
					      permissions: Sharing
 | 
				
			||||||
 | 
					    demo_mode: This instance is in demo mode. You cannot add or remove models, but you can do everything else.
 | 
				
			||||||
 | 
					    filters_card:
 | 
				
			||||||
 | 
					      missing_tags: Missing tags
 | 
				
			||||||
 | 
					      remove_collection_filter: Remove collection filter
 | 
				
			||||||
 | 
					      remove_creator_filter: Remove creator filter
 | 
				
			||||||
 | 
					      remove_library_filter: Remove library filter
 | 
				
			||||||
 | 
					      remove_missing_tag_filter: Remove missing tag filter
 | 
				
			||||||
 | 
					      remove_search_filter: Remove search filter
 | 
				
			||||||
 | 
					      remove_tag_filter: Remove tag filter
 | 
				
			||||||
 | 
					      search: Search
 | 
				
			||||||
 | 
					      title: Filters
 | 
				
			||||||
 | 
					      unknown: Unknown
 | 
				
			||||||
 | 
					    footer:
 | 
				
			||||||
 | 
					      about: About this instance
 | 
				
			||||||
 | 
					      api: Explore our API
 | 
				
			||||||
 | 
					      by_html: Designed and built by <a href="https://floppy.org.uk" target="_blank" rel="noreferrer">James</a> with help from <a href="https://github.com/manyfold3d/manyfold/graphs/contributors" target="_blank" rel="noreferrer">our contributors</a>.
 | 
				
			||||||
 | 
					      community: Join the community
 | 
				
			||||||
 | 
					      instance_heading: Instance Details
 | 
				
			||||||
 | 
					      issues: Report a problem
 | 
				
			||||||
 | 
					      open_source_html: <a href="https://github.com/manyfold3d/manyfold" target="_blank" rel="noreferrer">Open Source</a> under the <a href="https://github.com/manyfold3d/manyfold/blob/main/LICENSE.md" target="_blank" rel="noreferrer" rel="license">MIT license</a>.
 | 
				
			||||||
 | 
					      powered_by_html: Powered by <a href="https://forgejo.isvery.ninja/coderofsalvation/xrforge">XR Forge</a>, <a href="https://manifold.app" target="_blank">Manyfold</a>, <a href="https://xrfragment.org">XR Fragments</a> and <a href="https://nixos.org" target="_blank">NIX</a>
 | 
				
			||||||
 | 
					      sponsor: Sponsor development
 | 
				
			||||||
 | 
					      support: Support this instance
 | 
				
			||||||
 | 
					      version: Version
 | 
				
			||||||
 | 
					    link_fields:
 | 
				
			||||||
 | 
					      url:
 | 
				
			||||||
 | 
					        delete: Delete
 | 
				
			||||||
 | 
					        placeholder: Any related web page
 | 
				
			||||||
 | 
					    links_form:
 | 
				
			||||||
 | 
					      add: add another link
 | 
				
			||||||
 | 
					    navbar:
 | 
				
			||||||
 | 
					      account: My Settings
 | 
				
			||||||
 | 
					      activity: Activity
 | 
				
			||||||
 | 
					      check_existing: Rescan all models
 | 
				
			||||||
 | 
					      check_results: Rescan filtered models
 | 
				
			||||||
 | 
					      home: Homepage
 | 
				
			||||||
 | 
					      log_in: Sign in
 | 
				
			||||||
 | 
					      log_out: Sign out
 | 
				
			||||||
 | 
					      moderator_settings: Moderator Settings
 | 
				
			||||||
 | 
					      navbar:
 | 
				
			||||||
 | 
					        toggler:
 | 
				
			||||||
 | 
					          label: Toggle navigation
 | 
				
			||||||
 | 
					      scan: Scan
 | 
				
			||||||
 | 
					      scan_changes: Scan for new files
 | 
				
			||||||
 | 
					      scanning: Scanning
 | 
				
			||||||
 | 
					      search: Search
 | 
				
			||||||
 | 
					      settings: Site Settings
 | 
				
			||||||
 | 
					      upload: Upload
 | 
				
			||||||
 | 
					    order_buttons:
 | 
				
			||||||
 | 
					      sort:
 | 
				
			||||||
 | 
					        name: Sort by Name
 | 
				
			||||||
 | 
					        time: Sort by Time
 | 
				
			||||||
 | 
					    search_error: Error in search syntax. Please check and try again!
 | 
				
			||||||
 | 
					    tag_list:
 | 
				
			||||||
 | 
					      unrelated_tag_count:
 | 
				
			||||||
 | 
					        one: "%{count} unrelated tag hidden"
 | 
				
			||||||
 | 
					        other: "%{count} unrelated tags hidden"
 | 
				
			||||||
 | 
					    tagline: Helping you keep track of your 3d print files
 | 
				
			||||||
 | 
					    tags_card:
 | 
				
			||||||
 | 
					      skip_tags: Skip tag list
 | 
				
			||||||
 | 
					    title: xrforge
 | 
				
			||||||
 | 
					  application_helper:
 | 
				
			||||||
 | 
					    ai_indexable_select_options:
 | 
				
			||||||
 | 
					      always_no: Always no
 | 
				
			||||||
 | 
					      always_yes: Always yes
 | 
				
			||||||
 | 
					      inherit: Inherit from parent object or default site setting; currently '%{inherited}'
 | 
				
			||||||
 | 
					    indexable_select_options:
 | 
				
			||||||
 | 
					      always_no: Always no
 | 
				
			||||||
 | 
					      always_yes: Always yes
 | 
				
			||||||
 | 
					      inherit: Inherit from parent object or default site setting; currently '%{inherited}'
 | 
				
			||||||
 | 
					      'no': 'No'
 | 
				
			||||||
 | 
					      'yes': 'Yes'
 | 
				
			||||||
 | 
					  components:
 | 
				
			||||||
 | 
					    altcha_widget:
 | 
				
			||||||
 | 
					      help: privacy-friendly spam protection by ALTCHA
 | 
				
			||||||
 | 
					    copy_button:
 | 
				
			||||||
 | 
					      copy: Copy to Clipboard
 | 
				
			||||||
 | 
					    display_user_quota:
 | 
				
			||||||
 | 
					      request_increase: To request a quota increase, contact your site administrator.
 | 
				
			||||||
 | 
					    download_button:
 | 
				
			||||||
 | 
					      download:
 | 
				
			||||||
 | 
					        missing: Request download
 | 
				
			||||||
 | 
					        preparing: Preparing download, please wait
 | 
				
			||||||
 | 
					        ready: Ready to download
 | 
				
			||||||
 | 
					      file_type: "%{type} Files Only"
 | 
				
			||||||
 | 
					      label: Download All
 | 
				
			||||||
 | 
					      menu_header: Download Options
 | 
				
			||||||
 | 
					      supported: Supported Files Only
 | 
				
			||||||
 | 
					      unsupported: Unsupported Files Only
 | 
				
			||||||
 | 
					    follow_button:
 | 
				
			||||||
 | 
					      follow: Follow %{name}
 | 
				
			||||||
 | 
					      pending: Requested
 | 
				
			||||||
 | 
					      unfollow: Unfollow %{name}
 | 
				
			||||||
 | 
					    link_list:
 | 
				
			||||||
 | 
					      sync: Synchronize
 | 
				
			||||||
 | 
					    modal:
 | 
				
			||||||
 | 
					      close: Close
 | 
				
			||||||
 | 
					    model_card:
 | 
				
			||||||
 | 
					      delete_button:
 | 
				
			||||||
 | 
					        label: Delete model %{name}
 | 
				
			||||||
 | 
					        text: Delete
 | 
				
			||||||
 | 
					      edit_button:
 | 
				
			||||||
 | 
					        label: Edit model %{name}
 | 
				
			||||||
 | 
					        text: Edit
 | 
				
			||||||
 | 
					      no_preview: No preview available
 | 
				
			||||||
 | 
					      open_button:
 | 
				
			||||||
 | 
					        label: Open model %{name}
 | 
				
			||||||
 | 
					        text: Open
 | 
				
			||||||
 | 
					    search_help:
 | 
				
			||||||
 | 
					      boolean: Use "or" to find models that match any of the terms.
 | 
				
			||||||
 | 
					      federation: Search for any Fediverse username to follow it.
 | 
				
			||||||
 | 
					      filename: You can search within filenames by explicitly specifying the field.
 | 
				
			||||||
 | 
					      intro: 'Find what you need with our powerful search syntax:'
 | 
				
			||||||
 | 
					      more_details_html: For more information, read the full documentation for <a href="https://github.com/wvanbergen/scoped_search/wiki/Query-language">scoped_search's query language</a>.
 | 
				
			||||||
 | 
					      negation: To exclude terms, use "not", "!", or "-".
 | 
				
			||||||
 | 
					      parentheses: Group terms with parentheses for more complex logic combinations.
 | 
				
			||||||
 | 
					      path: Search within model folder paths by explicitly specifying it; use `~` for a partial match.
 | 
				
			||||||
 | 
					      quotes: To look for multiple words in a single term, use quotes; only models with the exact text will be shown.
 | 
				
			||||||
 | 
					      simple: By default, search will find models that match all terms.
 | 
				
			||||||
 | 
					      specific_fields: You can look for terms in a few specific fields. Use "~" to match part of the field; "=" will try to match the whole thing. Model descriptions and library names are only searched if you explicitly specify the fields.
 | 
				
			||||||
 | 
					      tag: Finds models with a specific tag
 | 
				
			||||||
 | 
					      title: Search Syntax
 | 
				
			||||||
 | 
					      unset: Use "set?" to query if a particular field is set, and add "not" to find the opposite.
 | 
				
			||||||
 | 
					      without_tag: Use "!=" to find models without a certain tag
 | 
				
			||||||
 | 
					  concerns:
 | 
				
			||||||
 | 
					    linkable:
 | 
				
			||||||
 | 
					      sync:
 | 
				
			||||||
 | 
					        bad_request: 'Synchronization failed: missing link ID'
 | 
				
			||||||
 | 
					        success: Synchronization requested successfully
 | 
				
			||||||
 | 
					  doorkeeper:
 | 
				
			||||||
 | 
					    applications:
 | 
				
			||||||
 | 
					      buttons:
 | 
				
			||||||
 | 
					        authorize: Authorize
 | 
				
			||||||
 | 
					        cancel: Cancel
 | 
				
			||||||
 | 
					        destroy: Destroy
 | 
				
			||||||
 | 
					        edit: Edit
 | 
				
			||||||
 | 
					        submit: Submit
 | 
				
			||||||
 | 
					      confirmations:
 | 
				
			||||||
 | 
					        destroy: Are you sure?
 | 
				
			||||||
 | 
					      edit:
 | 
				
			||||||
 | 
					        title: Edit application
 | 
				
			||||||
 | 
					      form:
 | 
				
			||||||
 | 
					        error: Whoops! Check your form for possible errors
 | 
				
			||||||
 | 
					      help:
 | 
				
			||||||
 | 
					        blank_redirect_uri: Leave it blank if you configured your provider to use Client Credentials, Resource Owner Password Credentials or any other grant type that doesn't require redirect URI.
 | 
				
			||||||
 | 
					        confidential: Application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential.
 | 
				
			||||||
 | 
					        redirect_uri: Use one line per URI
 | 
				
			||||||
 | 
					        scopes: Separate scopes with spaces. Leave blank to use the default scopes.
 | 
				
			||||||
 | 
					      index:
 | 
				
			||||||
 | 
					        actions: Actions
 | 
				
			||||||
 | 
					        callback_url: Callback URL
 | 
				
			||||||
 | 
					        confidential: Confidential?
 | 
				
			||||||
 | 
					        confidentiality:
 | 
				
			||||||
 | 
					          'no': 'No'
 | 
				
			||||||
 | 
					          'yes': 'Yes'
 | 
				
			||||||
 | 
					        name: Name
 | 
				
			||||||
 | 
					        new: New Application
 | 
				
			||||||
 | 
					        title: Your applications
 | 
				
			||||||
 | 
					      new:
 | 
				
			||||||
 | 
					        title: New Application
 | 
				
			||||||
 | 
					      show:
 | 
				
			||||||
 | 
					        actions: Actions
 | 
				
			||||||
 | 
					        application_id: UID
 | 
				
			||||||
 | 
					        callback_urls: Callback urls
 | 
				
			||||||
 | 
					        confidential: Confidential
 | 
				
			||||||
 | 
					        not_defined: Not defined
 | 
				
			||||||
 | 
					        scopes: Scopes
 | 
				
			||||||
 | 
					        secret: Secret
 | 
				
			||||||
 | 
					        secret_hashed: Secret hashed
 | 
				
			||||||
 | 
					        title: 'Application: %{name}'
 | 
				
			||||||
 | 
					    authorizations:
 | 
				
			||||||
 | 
					      buttons:
 | 
				
			||||||
 | 
					        authorize: Authorize
 | 
				
			||||||
 | 
					        deny: Deny
 | 
				
			||||||
 | 
					      error:
 | 
				
			||||||
 | 
					        title: An error has occurred
 | 
				
			||||||
 | 
					      form_post:
 | 
				
			||||||
 | 
					        title: Submit this form
 | 
				
			||||||
 | 
					      new:
 | 
				
			||||||
 | 
					        able_to: This application will be able to
 | 
				
			||||||
 | 
					        prompt: Authorize %{client_name} to use your account?
 | 
				
			||||||
 | 
					        title: Authorization required
 | 
				
			||||||
 | 
					      show:
 | 
				
			||||||
 | 
					        title: Authorization code
 | 
				
			||||||
 | 
					    authorized_applications:
 | 
				
			||||||
 | 
					      buttons:
 | 
				
			||||||
 | 
					        revoke: Revoke
 | 
				
			||||||
 | 
					      confirmations:
 | 
				
			||||||
 | 
					        revoke: Are you sure?
 | 
				
			||||||
 | 
					      index:
 | 
				
			||||||
 | 
					        application: Application
 | 
				
			||||||
 | 
					        created_at: Created At
 | 
				
			||||||
 | 
					        date_format: "%Y-%m-%d %H:%M:%S"
 | 
				
			||||||
 | 
					        title: Your authorized applications
 | 
				
			||||||
 | 
					    errors:
 | 
				
			||||||
 | 
					      messages:
 | 
				
			||||||
 | 
					        access_denied: The resource owner or authorization server denied the request.
 | 
				
			||||||
 | 
					        admin_authenticator_not_configured: Access to admin panel is forbidden due to Doorkeeper.configure.admin_authenticator being unconfigured.
 | 
				
			||||||
 | 
					        credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.
 | 
				
			||||||
 | 
					        forbidden_token:
 | 
				
			||||||
 | 
					          missing_scope: Access to this resource requires scope "%{oauth_scopes}".
 | 
				
			||||||
 | 
					        invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.
 | 
				
			||||||
 | 
					        invalid_code_challenge_method:
 | 
				
			||||||
 | 
					          one: The code_challenge_method must be %{challenge_methods}.
 | 
				
			||||||
 | 
					          other: The code_challenge_method must be one of %{challenge_methods}.
 | 
				
			||||||
 | 
					          zero: The authorization server does not support PKCE as there are no accepted code_challenge_method values.
 | 
				
			||||||
 | 
					        invalid_grant: The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
 | 
				
			||||||
 | 
					        invalid_redirect_uri: The requested redirect uri is malformed or doesn't match client redirect URI.
 | 
				
			||||||
 | 
					        invalid_request:
 | 
				
			||||||
 | 
					          invalid_code_challenge: Code challenge is required.
 | 
				
			||||||
 | 
					          missing_param: 'Missing required parameter: %{value}.'
 | 
				
			||||||
 | 
					          request_not_authorized: Request need to be authorized. Required parameter for authorizing request is missing or invalid.
 | 
				
			||||||
 | 
					          unknown: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.
 | 
				
			||||||
 | 
					        invalid_scope: The requested scope is invalid, unknown, or malformed.
 | 
				
			||||||
 | 
					        invalid_token:
 | 
				
			||||||
 | 
					          expired: The access token expired
 | 
				
			||||||
 | 
					          revoked: The access token was revoked
 | 
				
			||||||
 | 
					          unknown: The access token is invalid
 | 
				
			||||||
 | 
					        resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfigured.
 | 
				
			||||||
 | 
					        revoke:
 | 
				
			||||||
 | 
					          unauthorized: You are not authorized to revoke this token
 | 
				
			||||||
 | 
					        server_error: The authorization server encountered an unexpected condition which prevented it from fulfilling the request.
 | 
				
			||||||
 | 
					        temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
 | 
				
			||||||
 | 
					        unauthorized_client: The client is not authorized to perform this request using this method.
 | 
				
			||||||
 | 
					        unsupported_grant_type: The authorization grant type is not supported by the authorization server.
 | 
				
			||||||
 | 
					        unsupported_response_mode: The authorization server does not support this response mode.
 | 
				
			||||||
 | 
					        unsupported_response_type: The authorization server does not support this response type.
 | 
				
			||||||
 | 
					    flash:
 | 
				
			||||||
 | 
					      applications:
 | 
				
			||||||
 | 
					        create:
 | 
				
			||||||
 | 
					          notice: Application created.
 | 
				
			||||||
 | 
					        destroy:
 | 
				
			||||||
 | 
					          notice: Application deleted.
 | 
				
			||||||
 | 
					        update:
 | 
				
			||||||
 | 
					          notice: Application updated.
 | 
				
			||||||
 | 
					      authorized_applications:
 | 
				
			||||||
 | 
					        destroy:
 | 
				
			||||||
 | 
					          notice: Application revoked.
 | 
				
			||||||
 | 
					    layouts:
 | 
				
			||||||
 | 
					      admin:
 | 
				
			||||||
 | 
					        nav:
 | 
				
			||||||
 | 
					          applications: Applications
 | 
				
			||||||
 | 
					          home: Home
 | 
				
			||||||
 | 
					          oauth2_provider: OAuth2 Provider
 | 
				
			||||||
 | 
					        title: Doorkeeper
 | 
				
			||||||
 | 
					      application:
 | 
				
			||||||
 | 
					        title: OAuth authorization required
 | 
				
			||||||
 | 
					    pre_authorization:
 | 
				
			||||||
 | 
					      status: Pre-authorization
 | 
				
			||||||
 | 
					  doorkeeper_applications:
 | 
				
			||||||
 | 
					    create:
 | 
				
			||||||
 | 
					      failure: An error occurred, and the application could not be created.
 | 
				
			||||||
 | 
					      success: Application created successfully.
 | 
				
			||||||
 | 
					    destroy:
 | 
				
			||||||
 | 
					      success: Application deleted successfully.
 | 
				
			||||||
 | 
					    edit:
 | 
				
			||||||
 | 
					      title: Edit application
 | 
				
			||||||
 | 
					    form:
 | 
				
			||||||
 | 
					      confidential:
 | 
				
			||||||
 | 
					        help: A confidential application can hold secrets securely (e.g. a web server backend, or machine-to-machine script).
 | 
				
			||||||
 | 
					      redirect_uri:
 | 
				
			||||||
 | 
					        help: Use "urn:ietf:wg:oauth:2.0:oob" if your application does not need a redirect URI (e.g. machine-to-machine apps).
 | 
				
			||||||
 | 
					      scopes:
 | 
				
			||||||
 | 
					        label: Scopes
 | 
				
			||||||
 | 
					      submit: Save application
 | 
				
			||||||
 | 
					    index:
 | 
				
			||||||
 | 
					      description: OAuth applications allow you to access Manyfold resources from other services via our API.
 | 
				
			||||||
 | 
					      new: New application
 | 
				
			||||||
 | 
					      title: OAuth Applications
 | 
				
			||||||
 | 
					    new:
 | 
				
			||||||
 | 
					      title: New application
 | 
				
			||||||
 | 
					    show:
 | 
				
			||||||
 | 
					      destroy: Delete
 | 
				
			||||||
 | 
					      edit: Edit
 | 
				
			||||||
 | 
					      title: Application details
 | 
				
			||||||
 | 
					    update:
 | 
				
			||||||
 | 
					      failure: An error occurred, and the application could not be saved.
 | 
				
			||||||
 | 
					      success: Application saved successfully.
 | 
				
			||||||
 | 
					  errors:
 | 
				
			||||||
 | 
					    messages:
 | 
				
			||||||
 | 
					      already_confirmed: was already confirmed, please try signing in
 | 
				
			||||||
 | 
					      confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
 | 
				
			||||||
 | 
					      expired: has expired, please request a new one
 | 
				
			||||||
 | 
					      not_found: not found
 | 
				
			||||||
 | 
					      not_locked: was not locked
 | 
				
			||||||
 | 
					      not_saved:
 | 
				
			||||||
 | 
					        one: '1 error prohibited this %{resource} from being saved:'
 | 
				
			||||||
 | 
					        other: "%{count} errors prohibited this %{resource} from being saved:"
 | 
				
			||||||
 | 
					      weak_password: not strong enough. Consider adding a number, symbols or more letters to make it stronger.
 | 
				
			||||||
 | 
					  follows:
 | 
				
			||||||
 | 
					    actor_table:
 | 
				
			||||||
 | 
					      actions: Actions
 | 
				
			||||||
 | 
					      address: Fediverse Address
 | 
				
			||||||
 | 
					      name: Name
 | 
				
			||||||
 | 
					      non_manyfold_account: This is not a Manyfold account; you can follow it, but probably nothing interesting will happen, at least for now.
 | 
				
			||||||
 | 
					    follow_remote_actor:
 | 
				
			||||||
 | 
					      followed: Followed %{actor} successfully
 | 
				
			||||||
 | 
					    index:
 | 
				
			||||||
 | 
					      followers: Followers
 | 
				
			||||||
 | 
					      following: Following
 | 
				
			||||||
 | 
					      title: Connections
 | 
				
			||||||
 | 
					    new:
 | 
				
			||||||
 | 
					      help: You can follow public creators, collections or models on another Manyfold server, in fact any public account in the Fediverse! Just enter the account name in the search box!
 | 
				
			||||||
 | 
					      no_results: Sorry, couldn't find anything for "%{query}". Is it a valid ActivityPub account or URL?
 | 
				
			||||||
 | 
					      results: Search Results
 | 
				
			||||||
 | 
					      title: Follow the Fediverse
 | 
				
			||||||
 | 
					    remote_follow:
 | 
				
			||||||
 | 
					      help: You don't need an account on this server to follow %{name}; enter your own account name here, and we'll send you home to complete the process.
 | 
				
			||||||
 | 
					      no_results_html: We couldn't find your home account; did you enter it correctly?
 | 
				
			||||||
 | 
					      placeholder: Your Fediverse handle, e.g. @manyfold@3dp.chat
 | 
				
			||||||
 | 
					      submit: Take me home
 | 
				
			||||||
 | 
					      title: Follow %{name}
 | 
				
			||||||
 | 
					    search_form:
 | 
				
			||||||
 | 
					      placeholder: Enter a Fediverse account or URL, e.g. @admin@try.manyfold.app
 | 
				
			||||||
 | 
					      submit: Search
 | 
				
			||||||
 | 
					    unfollow_remote_actor:
 | 
				
			||||||
 | 
					      unfollowed: Unfollowed %{actor}
 | 
				
			||||||
 | 
					  general:
 | 
				
			||||||
 | 
					    delete: Delete
 | 
				
			||||||
 | 
					    download: Download
 | 
				
			||||||
 | 
					    edit: Edit
 | 
				
			||||||
 | 
					    expand: Expand
 | 
				
			||||||
 | 
					    followers:
 | 
				
			||||||
 | 
					      few: "%{count} Followers"
 | 
				
			||||||
 | 
					      many: "%{count} Followers"
 | 
				
			||||||
 | 
					      one: "%{count} Follower"
 | 
				
			||||||
 | 
					      other: "%{count} Followers"
 | 
				
			||||||
 | 
					      two: "%{count} Followers"
 | 
				
			||||||
 | 
					      zero: "%{count} Followers"
 | 
				
			||||||
 | 
					    menu: Menu
 | 
				
			||||||
 | 
					    new: New
 | 
				
			||||||
 | 
					    private: Private
 | 
				
			||||||
 | 
					    public: Publicly visible
 | 
				
			||||||
 | 
					    report: Report %{type}
 | 
				
			||||||
 | 
					    save: Save
 | 
				
			||||||
 | 
					    shared: Shared with local users
 | 
				
			||||||
 | 
					    view: View
 | 
				
			||||||
 | 
					  home:
 | 
				
			||||||
 | 
					    activity:
 | 
				
			||||||
 | 
					      created: added %{time} ago
 | 
				
			||||||
 | 
					      updated: updated %{time} ago
 | 
				
			||||||
 | 
					    browsing:
 | 
				
			||||||
 | 
					      content: You can explore models by clicking the links in the menu bar; browse a complete list and filter by tag, or browse by collection or creator. Alternatively just type into the search box to find what you want!
 | 
				
			||||||
 | 
					      manual_link: User guide
 | 
				
			||||||
 | 
					      more_access: Currently you have read-only access to this instance; to get more permissions, such as uploading, contact your instance administrator.
 | 
				
			||||||
 | 
					      title: Browsing
 | 
				
			||||||
 | 
					    federation:
 | 
				
			||||||
 | 
					      content_html: This Manyfold instance is part of the <a href="https://jointhefediverse.net">Fediverse</a>, a network of social media sites that all work together. That means that if you have an account here, you can follow content on other Manyfold instances, or people can follow your content from other platforms like Mastodon.
 | 
				
			||||||
 | 
					      creator_handle_html: 'The fediverse handle of your creator profile is: <code>%{handle}</code>.'
 | 
				
			||||||
 | 
					      following: If you know the handle of someone or something you want to follow, just enter it in the search box; otherwise, enter your personal handle above when you follow something on another instance.
 | 
				
			||||||
 | 
					      handle_html: 'Your fediverse handle is: <code>%{handle}</code>'
 | 
				
			||||||
 | 
					      title: Federation
 | 
				
			||||||
 | 
					    index:
 | 
				
			||||||
 | 
					      no_activities: There are no activities to display for now.
 | 
				
			||||||
 | 
					      open_search_help: Search syntax
 | 
				
			||||||
 | 
					      recent_activity: Recent Activity
 | 
				
			||||||
 | 
					      search:
 | 
				
			||||||
 | 
					        placeholder: What are you looking for?
 | 
				
			||||||
 | 
					        submit: Search
 | 
				
			||||||
 | 
					    publishing:
 | 
				
			||||||
 | 
					      content: You can publish content publicly by giving "view" or "preview" permission to the "public" role on the item's edit page. Creators for public models will automatically be made public, but collections need to be expicitly published if you want them to be visible.
 | 
				
			||||||
 | 
					      existing_creator:
 | 
				
			||||||
 | 
					        button: Edit your creator profile
 | 
				
			||||||
 | 
					        content: 'If you''re publishing your own work, you will probably want to customise your creator profile:'
 | 
				
			||||||
 | 
					      new_creator:
 | 
				
			||||||
 | 
					        button: Set up a new creator profile
 | 
				
			||||||
 | 
					        content: 'If you''re publishing your own work, you will probably want to set up your own creator profile:'
 | 
				
			||||||
 | 
					      title: Publishing
 | 
				
			||||||
 | 
					    support:
 | 
				
			||||||
 | 
					      content: Manyfold instances are run by people like you! If you find this instance useful, you can help keep it running by clicking below.
 | 
				
			||||||
 | 
					      manyfold_html: To support development of the Manyfold software itself, you can do so at <a href="https://opencollective.com/manyfold">OpenCollective</a>.
 | 
				
			||||||
 | 
					      support_link: Support this instance
 | 
				
			||||||
 | 
					      title: Support
 | 
				
			||||||
 | 
					    uploading:
 | 
				
			||||||
 | 
					      how_to_upload: You can add models by clicking the upload button in the menu bar. To upload lots of files as a single model, compress them in a single archive file (e.g. ZIP or RAR).
 | 
				
			||||||
 | 
					      permissions:
 | 
				
			||||||
 | 
					        edit: You can grant additional permissions on the item's edit page.
 | 
				
			||||||
 | 
					        member: By default, uploaded content will be visible to any local logged-in user.
 | 
				
			||||||
 | 
					        private: By default, uploaded content will not be visible to any other users.
 | 
				
			||||||
 | 
					      quota: You can upload up to %{quota} of content, and you can always view your current quota usage on your settings page.
 | 
				
			||||||
 | 
					      title: Uploading
 | 
				
			||||||
 | 
					      upload: Upload
 | 
				
			||||||
 | 
					    welcome:
 | 
				
			||||||
 | 
					      lead: This site is running Manyfold, software for managing and sharing 3D models; here's a quick guide...
 | 
				
			||||||
 | 
					      title: Welcome to %{site_name}!
 | 
				
			||||||
 | 
					  imports:
 | 
				
			||||||
 | 
					    create:
 | 
				
			||||||
 | 
					      success: Imported requested; the results should appear shortly.
 | 
				
			||||||
 | 
					    new:
 | 
				
			||||||
 | 
					      description: From some sites, Manyfold can download models for you with just a link!
 | 
				
			||||||
 | 
					      heading: Import from a link
 | 
				
			||||||
 | 
					      import: Import this link
 | 
				
			||||||
 | 
					      import_type_html: "<code>%{url}</code> will be added as a new %{object_type}. The following data can be imported automatically:"
 | 
				
			||||||
 | 
					  jobs:
 | 
				
			||||||
 | 
					    activity:
 | 
				
			||||||
 | 
					      collection_published:
 | 
				
			||||||
 | 
					        comment: A new collection of 3D models, ["%{name}"](%{url}), was just published!
 | 
				
			||||||
 | 
					      model_collected:
 | 
				
			||||||
 | 
					        comment: '["%{model_name}"](%{model_url}) was just added to the ["%{collection_name}"](%{collection_url}) collection.'
 | 
				
			||||||
 | 
					      model_published:
 | 
				
			||||||
 | 
					        comment: A new 3D model, ["%{name}"](%{url}), was just published!
 | 
				
			||||||
 | 
					      updated_model:
 | 
				
			||||||
 | 
					        comment: The 3D model ["%{name}"](%{url}), was just updated!
 | 
				
			||||||
 | 
					    analysis:
 | 
				
			||||||
 | 
					      analyse_model_file:
 | 
				
			||||||
 | 
					        detect_duplicates: Detecting duplicate files
 | 
				
			||||||
 | 
					        detect_ineffiency: Detecting inefficient formats
 | 
				
			||||||
 | 
					        file_statistics: Calculating file statistics
 | 
				
			||||||
 | 
					        matching: Matching supported files
 | 
				
			||||||
 | 
					      file_conversion:
 | 
				
			||||||
 | 
					        exporting: Exporting new file
 | 
				
			||||||
 | 
					        loading_mesh: Loading mesh
 | 
				
			||||||
 | 
					      geometric_analysis:
 | 
				
			||||||
 | 
					        direction_check: Checking surface orientation
 | 
				
			||||||
 | 
					        loading_mesh: Loading mesh
 | 
				
			||||||
 | 
					        manifold_check: Checking that mesh is manifold
 | 
				
			||||||
 | 
					    scan:
 | 
				
			||||||
 | 
					      detect_filesystem_changes:
 | 
				
			||||||
 | 
					        building_filename_list: Building file list
 | 
				
			||||||
 | 
					        building_folder_list: Building changed folder list
 | 
				
			||||||
 | 
					        creating_models: Creating models
 | 
				
			||||||
 | 
					  kaminari:
 | 
				
			||||||
 | 
					    first_page:
 | 
				
			||||||
 | 
					      label: Go to first page
 | 
				
			||||||
 | 
					    last_page:
 | 
				
			||||||
 | 
					      label: Go to last page
 | 
				
			||||||
 | 
					    next_page:
 | 
				
			||||||
 | 
					      label: Go to next page
 | 
				
			||||||
 | 
					    page:
 | 
				
			||||||
 | 
					      current_page: Current page
 | 
				
			||||||
 | 
					      label: Go to page %{page}
 | 
				
			||||||
 | 
					    paginator:
 | 
				
			||||||
 | 
					      label: Page navigation
 | 
				
			||||||
 | 
					    prev_page:
 | 
				
			||||||
 | 
					      label: Go to previous page
 | 
				
			||||||
 | 
					  layouts:
 | 
				
			||||||
 | 
					    application:
 | 
				
			||||||
 | 
					      alert:
 | 
				
			||||||
 | 
					        danger: Danger
 | 
				
			||||||
 | 
					        info: Info
 | 
				
			||||||
 | 
					      skip_to_content: Skip to main content
 | 
				
			||||||
 | 
					    card_list_page:
 | 
				
			||||||
 | 
					      actions_heading: Actions
 | 
				
			||||||
 | 
					    settings:
 | 
				
			||||||
 | 
					      activeadmin: Advanced Administration
 | 
				
			||||||
 | 
					      appearance: Appearance
 | 
				
			||||||
 | 
					      downloads: Downloads
 | 
				
			||||||
 | 
					      libraries: Libraries
 | 
				
			||||||
 | 
					      moderation_settings_title: Moderation Settings
 | 
				
			||||||
 | 
					      organization: Organization
 | 
				
			||||||
 | 
					      performance: Performance Dashboard
 | 
				
			||||||
 | 
					      pghero: PgHero
 | 
				
			||||||
 | 
					      sidekiq: Sidekiq
 | 
				
			||||||
 | 
					      site_settings_title: Site Settings
 | 
				
			||||||
 | 
					      tools_heading: Advanced Tools
 | 
				
			||||||
 | 
					  licenses:
 | 
				
			||||||
 | 
					    0BSD: BSD Zero Clause License
 | 
				
			||||||
 | 
					    CC-BY-40: Creative Commons Attribution
 | 
				
			||||||
 | 
					    CC-BY-NC-40: Creative Commons Attribution NonCommercial
 | 
				
			||||||
 | 
					    CC-BY-NC-ND-40: Creative Commons Attribution NonCommercial NoDerivatives
 | 
				
			||||||
 | 
					    CC-BY-NC-SA-40: Creative Commons Attribution NonCommercial ShareAlike
 | 
				
			||||||
 | 
					    CC-BY-ND-40: Creative Commons Attribution NoDerivatives
 | 
				
			||||||
 | 
					    CC-BY-SA-40: Creative Commons Attribution ShareAlike
 | 
				
			||||||
 | 
					    CC-PDDC: Creative Commons Public Domain Declaration
 | 
				
			||||||
 | 
					    CC0-10: Creative Commons Zero
 | 
				
			||||||
 | 
					    GPL-20-only: GNU General Public License v2.0
 | 
				
			||||||
 | 
					    GPL-30-only: GNU General Public License v3.0
 | 
				
			||||||
 | 
					    LGPL-20-only: GNU Lesser General Public License v2
 | 
				
			||||||
 | 
					    LGPL-30-only: GNU Lesser General Public License v3
 | 
				
			||||||
 | 
					    LicenseRef-Commercial: Commercial; private use only
 | 
				
			||||||
 | 
					    MIT: MIT
 | 
				
			||||||
 | 
					  moderator_mailer:
 | 
				
			||||||
 | 
					    new_approval:
 | 
				
			||||||
 | 
					      greeting: Hi!
 | 
				
			||||||
 | 
					      message: Someone new has signed up for an account, and requires approval. Approve the account at %{link}
 | 
				
			||||||
 | 
					      subject: New account needs approval
 | 
				
			||||||
 | 
					    new_report:
 | 
				
			||||||
 | 
					      greeting: Hi!
 | 
				
			||||||
 | 
					      message: Someone has reported content which needs moderations. Review the report at %{link}
 | 
				
			||||||
 | 
					      subject: New report received
 | 
				
			||||||
 | 
					  renderer:
 | 
				
			||||||
 | 
					    errors:
 | 
				
			||||||
 | 
					      canvas: 'Could not find #webgl canvas!'
 | 
				
			||||||
 | 
					      load: Load Error
 | 
				
			||||||
 | 
					      webglrenderer: Could not create renderer!
 | 
				
			||||||
 | 
					    load: Load
 | 
				
			||||||
 | 
					    processing: Reticulating splines...
 | 
				
			||||||
 | 
					  reports:
 | 
				
			||||||
 | 
					    create:
 | 
				
			||||||
 | 
					      success: Report submitted. Thank you!
 | 
				
			||||||
 | 
					    new:
 | 
				
			||||||
 | 
					      description: If this item violates any laws or server policies, you can report it to our moderators. Add a comment to let us know why!
 | 
				
			||||||
 | 
					      submit: Send report
 | 
				
			||||||
 | 
					      title: 'Report %{type}: "%{name}"'
 | 
				
			||||||
 | 
					  scans:
 | 
				
			||||||
 | 
					    create:
 | 
				
			||||||
 | 
					      success: Scan started.
 | 
				
			||||||
 | 
					  security:
 | 
				
			||||||
 | 
					    running_as_root_html: Manyfold is running as root, which is a security risk. Run as a different system user by setting the <code>PUID</code> and <code>PGID</code> environment variables. See <a href='https://manyfold.app/sysadmin/configuration.html#required'>the configuration documentation</a> for details.
 | 
				
			||||||
 | 
					  sites:
 | 
				
			||||||
 | 
					    cgtrader: CGTrader
 | 
				
			||||||
 | 
					    comicsgamesandthings: Comics, Games, and Things
 | 
				
			||||||
 | 
					    cults3d: Cults3D
 | 
				
			||||||
 | 
					    github: GitHub
 | 
				
			||||||
 | 
					    makerworld: MakerWorld
 | 
				
			||||||
 | 
					    manyfold: Manyfold
 | 
				
			||||||
 | 
					    myminifactory: MyMiniFactory
 | 
				
			||||||
 | 
					    printables: Printables
 | 
				
			||||||
 | 
					    thangs: Thangs
 | 
				
			||||||
 | 
					    theminiindex: The Mini Index
 | 
				
			||||||
 | 
					    thingiverse: Thingiverse
 | 
				
			||||||
 | 
					    yeggi: yeggi
 | 
				
			||||||
 | 
					  user_mailer:
 | 
				
			||||||
 | 
					    account_approved:
 | 
				
			||||||
 | 
					      greeting: Hi!
 | 
				
			||||||
 | 
					      message: Your account has been approved; you may now sign in at %{link}
 | 
				
			||||||
 | 
					      subject: Account approved
 | 
				
			||||||
 | 
					    test_email:
 | 
				
			||||||
 | 
					      subject: Test email
 | 
				
			||||||
 | 
					      test_email_message: Test email
 | 
				
			||||||
 | 
					  users:
 | 
				
			||||||
 | 
					    registrations:
 | 
				
			||||||
 | 
					      create:
 | 
				
			||||||
 | 
					        altcha_failed: ALTCHA verification failed
 | 
				
			||||||
 | 
					  views:
 | 
				
			||||||
 | 
					    pagination:
 | 
				
			||||||
 | 
					      first: "« First"
 | 
				
			||||||
 | 
					      last: Last »
 | 
				
			||||||
 | 
					      next: Next ›
 | 
				
			||||||
 | 
					      previous: "‹ Prev"
 | 
				
			||||||
 | 
					      truncate: "…"
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue