diff --git a/app/controllers/admin/admin_controller.rb b/app/controllers/admin/admin_controller.rb index 502f46a31..2baa7f2d7 100644 --- a/app/controllers/admin/admin_controller.rb +++ b/app/controllers/admin/admin_controller.rb @@ -6,12 +6,29 @@ class AdminController < ApplicationController layout 'admin' def admin_title model = nil, keys = [] - return PageTitle.new(['Admin', t(".#{action_name}_title")]).content if model.blank? + # controller_name is 'admin', controller_path is 'admin/articles' + # we need 'Article' for the title from models locale YAML + controller_name_space = :admin + nested_controller_name = controller_path.split('/').last + + if model.blank? + subtitle = t :other, scope: [:activerecord, :models, nested_controller_name.singularize] + return PageTitle.new(['Admin', subtitle]).content + end + return '' unless keys.all? { |key| model.respond_to? key } translation_vars = keys.index_with { |key| model.send(key) } - PageTitle.new(['Admin', t(".#{action_name}_title", **translation_vars)]).content + lookup_path = [ + :views, + controller_name_space, + nested_controller_name, + action_name, + :title + ].join('.') + + PageTitle.new(['Admin', t(lookup_path, **translation_vars)]).content end def set_published_at diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb index dc2e0503d..7a3678568 100644 --- a/app/controllers/admin/dashboard_controller.rb +++ b/app/controllers/admin/dashboard_controller.rb @@ -2,7 +2,7 @@ module Admin class DashboardController < Admin::AdminController # /admin/dashboard def index - @title = admin_title + @title = admin_title :dashboard end # /admin/markdown diff --git a/app/views/admin/_danger_zone.html.erb b/app/views/admin/_danger_zone.html.erb index 60606f999..3d5c5ee3f 100644 --- a/app/views/admin/_danger_zone.html.erb +++ b/app/views/admin/_danger_zone.html.erb @@ -2,7 +2,7 @@
-
The Danger Zone™
+
<%= t '.danger_zone' %>

diff --git a/config/locales/admin/en.yml b/config/locales/admin/en.yml deleted file mode 100644 index 051fe4375..000000000 --- a/config/locales/admin/en.yml +++ /dev/null @@ -1,278 +0,0 @@ -en: - admin: - title_prepend: Admin - articles: - index_title: Articles - new_title: New Articles - show_title: "Articles : %{title}" - edit_title: "Editing article %{id} %{title} : %{subtitle}" - create: - notice: Article was successfully created. - update: - notice: Article was successfully updated. - destroy: - notice: Article was successfully destroyed. - books: - index_title: Books - new_title: New Books - show_title: "Books : %{title}" - edit_title: "Editing book %{id} %{title} : %{subtitle}" - create: - notice: Book was successfully created. - update: - notice: Book was successfully updated. - destroy: - notice: Book was successfully destroyed. - zines: - index_title: Zines - new_title: New Zines - show_title: "Zines : %{title}" - edit_title: "Editing zine %{id} %{title} : %{subtitle}" - create: - notice: Zine was successfully created. - update: - notice: Zine was successfully updated. - destroy: - notice: Zine was successfully destroyed. - journals: - index_title: Journals - new_title: New Journals - show_title: "Journals : %{title}" - edit_title: "Editing journal %{id} %{title} : %{subtitle}" - create: - notice: Journal was successfully created. - update: - notice: Journal was successfully updated. - destroy: - notice: Journal was successfully destroyed. - posters: - index_title: Posters - new_title: New Posters - show_title: "Posters : %{title}" - edit_title: "Editing poster %{id} %{title} : %{subtitle}" - create: - notice: Poster was successfully created. - update: - notice: Poster was successfully updated. - destroy: - notice: Poster was successfully destroyed. - stickers: - index_title: Stickers - new_title: New Stickers - show_title: "Stickers : %{title}" - edit_title: "Editing sticker %{id} %{title} : %{subtitle}" - create: - notice: Sticker was successfully created. - update: - notice: Sticker was successfully updated. - destroy: - notice: Sticker was successfully destroyed. - podcasts: - index_title: Podcasts - new_title: New Podcasts - show_title: "Podcasts : %{title}" - edit_title: "Editing podcast %{id} %{title} : %{subtitle}" - videos: - index_title: Videos - new_title: New Videos - show_title: "Videos : %{title}" - edit_title: "Editing video %{id} %{title} : %{subtitle}" - create: - notice: Video was successfully created. - update: - notice: Video was successfully updated. - destroy: - notice: Video was successfully destroyed. - categories: - index_title: Categories - new_title: New Categories - show_title: "Categories : %{name}" - edit_title: "Editing category %{id} : %{name}" - create: - notice: Category was successfully created. - update: - notice: Category was successfully updated. - destroy: - notice: Category was successfully destroyed. - episodes: - index_title: Episodes - new_title: New Episodes - show_title: "Episodes : %{title}" - edit_title: "Editing episode %{id} %{title}" - create: - notice: Episode was successfully created. - update: - notice: Episode was successfully updated. - destroy: - notice: Episode was successfully destroyed. - users: - index_title: Users - new_title: New Users - show_title: "Users : %{name}" - edit_title: "Editing user %{id} : %{username}" - create: - notice: User was successfully created. - update: - notice: User was successfully updated. - destroy: - notice: User was successfully destroyed. - pages: - index_title: Pages - new_title: New Pages - show_title: "Pages : %{title}" - edit_title: "Editing page %{id} %{title} : %{subtitle}" - create: - notice: Page was successfully created. - update: - notice: Page was successfully updated. - destroy: - notice: Page was successfully destroyed. - links: - index_title: Links - new_title: New Links - show_title: "Links : %{name}" - edit_title: "Editing link %{id} : %{name}" - locales: - index_title: Locales - new_title: New Locales - show_title: "Locales : %{name}" - edit_title: "Editing locale %{id} : %{abbreviation} : %{name_in_english} : %{name}" - redirects: - index_title: Redirects - new_title: New Redirects - show_title: "Redirects : %{source_path}" - edit_title: "Editing redirect %{id} %{source_path}" - - # Additional admin sections for controllers without page titles - definitions: - create: - notice: Definition was successfully created. - update: - notice: Definition was successfully updated. - destroy: - notice: Definition was successfully destroyed. - issues: - create: - notice: Issue was successfully created. - update: - notice: Issue was successfully updated. - destroy: - notice: Issue was successfully destroyed. - logos: - create: - notice: Logo was successfully created. - update: - notice: Logo was successfully updated. - destroy: - notice: Logo was successfully destroyed. - tags: - create: - notice: Tag was successfully created. - update: - notice: Tag was successfully updated. - destroy: - notice: Tag was successfully destroyed. - - # Generic CRUD operation messages for fallback - notices: - created: "%{model} was successfully created." - updated: "%{model} was successfully updated." - destroyed: "%{model} was successfully destroyed." - - # Common UI elements - ui: - cancel: Cancel - delete: Delete - edit: Edit - new: NEW - save: Save - preview: Preview - publish: Publish - draft: Draft - published: Published - - # Confirmation messages - confirmations: - delete: Are you sure you’re sure? There is NO UNDO. - - # Form labels and help text - forms: - publication_status: Publication Status - featured_status: Feature this %{model} on the homepage? - featured_status_help: In the Ex-Workers’ Collection - not_featured: Not featured - featured: Featured - upload_word_doc: Upload a Word Doc file - word_doc_help: "An uploaded .docx file will get converted to Markdown and used in the content textarea, over-writing any content that is already there. ONLY .docx files will work!" - header_image: Header Image - header_image_help: "This is the large image that will be front and center on the Article page, on the homepage and when syndicated to other sites. Preferred size: 2000px wide by about 1000px tall (or taller)." - short_url_path: Short URL Path - categories: Categories - syndication: Syndication - appearance: Appearance - localization: Localization - - # Navigation - nav: - admin_dashboard: 🖤 ADMIN - new_article: 📝 New Article - articles: 📄 Articles - redirects: ↪️ Redirects - new_redirect: ↪️ New Redirect - draft_articles: Draft ➡️ - published_articles: Published ➡️ - scroll_to_top: Scroll to Site Top - markdown_cheatsheet: Markdown Cheatsheet ↗ - - # Page headings and sections - headings: - nested_articles: Nested Articles - new_nested_article: NEW Nested Article - downloads: Downloads - danger_zone: Danger Zone - - # Help text and descriptions - help: - downloads_path: Downloads must be uploaded to - live_blog_help: "For live blog articles:" - preview_draft: Preview Draft - edit_article: Edit Article - jump_to: Jump to - - ebooks: - - slug: screen_single_page_view - name: Screen Single Page View PDF - description: Is there a one page wide ‘PDF’ for on-screen reading uploaded? - - slug: screen_two_page_view - name: Screen Two Page View PDF - description: Is there a two page wide ‘PDF’ for on-screen reading uploaded? - - slug: print_color - name: Print Color PDF - description: Is there a color ‘PDF’ for printing uploaded? - - slug: print_black_and_white - name: Print B/W PDF - description: Is there a B/W ‘PDF’ for printing uploaded? - - slug: print_color_a4 - name: Print Color A4 PDF - description: Is there an A4 sized color ‘PDF’ for printing uploaded? - - slug: print_black_and_white_a4 - name: B/W A4 PDF - description: Is there an A4 sized B/W ‘PDF’ for printing uploaded? - - slug: lite - name: Ink Lite PDF - description: Is there a printer toner friendly ‘PDF’ for printing uploaded? - - slug: epub - name: ePub - description: Is there a ‘.epub’ file uploaded? - - slug: mobi - name: Mobi - description: Is there a ‘.mobi’ file uploaded? - - activerecord: - errors: - models: - article: - source_path: - uniqueness: is already taken by article short path - target_path: - uniqueness: redirects to itself diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml new file mode 100644 index 000000000..100693c43 --- /dev/null +++ b/config/locales/en/admin.yml @@ -0,0 +1,408 @@ +en: + views: + admin: + title_prepend: Admin + + articles: + previewing_draft: PREVIEWING DRAFT. + continue_editing_article: Continue editing article + view_article_in_admin: view article in Admin + upload_word_doc: Upload a Word Doc file + word_doc_help: | + An uploaded .docx file will get converted to Markdown and used in the content textarea, + over-writing any content that is already there. ONLY .docx files will work! + header_image: Header Image + header_image_help: | + This is the large image that will be front and center on the Article page, + on the homepage and when syndicated to other sites. + Preferred size is 2000px wide by about 1000px tall (or taller). + short_url_path: Short URL Path + categories: Categories + syndication: Syndication + appearance: Appearance + localization: Localization + + index: + title: Articles + new: + title: New Articles + show: + title: "Articles : %{title}" + edit: + title: "Editing article %{id} %{title} : %{subtitle}" + create: + notice: Article was successfully created. + update: + notice: Article was successfully updated. + destroy: + notice: Article was successfully destroyed. + + tools: + poster: + image_description: Photo of '%{title}' front side + back_image_description: Photo of '%{title}' back side + + dashboard: + index: + title: Dashboard + + books: + index: + title: Books + new: + title: New Books + show: + title: "Books : %{title}" + edit: + title: "Editing book %{id} %{title} : %{subtitle}" + create: + notice: Book was successfully created. + update: + notice: Book was successfully updated. + destroy: + notice: Book was successfully destroyed. + admin_book_read_download_text: Two Up PDF + admin_book_print_download_text: Print PDF + admin_book_lite_download_text: One Up PDF + admin_book_epub_download_text: Mobi + admin_book_mobi_download_text: ePub + ebooks: + - slug: screen_single_page_view + name: Screen Single Page View PDF + description: Is there a one page wide ‘PDF’ for on-screen reading uploaded? + - slug: screen_two_page_view + name: Screen Two Page View PDF + description: Is there a two page wide ‘PDF’ for on-screen reading uploaded? + - slug: print_color + name: Print Color PDF + description: Is there a color ‘PDF’ for printing uploaded? + - slug: print_black_and_white + name: Print B/W PDF + description: Is there a B/W ‘PDF’ for printing uploaded? + - slug: print_color_a4 + name: Print Color A4 PDF + description: Is there an A4 sized color ‘PDF’ for printing uploaded? + - slug: print_black_and_white_a4 + name: B/W A4 PDF + description: Is there an A4 sized B/W ‘PDF’ for printing uploaded? + - slug: lite + name: Ink Lite PDF + description: Is there a printer toner friendly ‘PDF’ for printing uploaded? + - slug: epub + name: ePub + description: Is there a ‘.epub’ file uploaded? + - slug: mobi + name: Mobi + description: Is there a ‘.mobi’ file uploaded? + + zines: + index: + title: Zines + new: + title: New Zines + show: + title: "Zines : %{title}" + edit: + title: "Editing zine %{id} %{title} : %{subtitle}" + create: + notice: Zine was successfully created. + update: + notice: Zine was successfully updated. + destroy: + notice: Zine was successfully destroyed. + admin_zine_read_download_text: Read PDF + admin_zine_print_download_text: Print PDF + admin_zine_lite_download_text: Ink Lite PDF + admin_zine_epub_download_text: Mobi + admin_zine_mobi_download_text: ePub + + journals: + index: + title: Journals + new: + title: New Journals + show: + title: "Journals : %{title}" + edit: + title: "Editing journal %{id} %{title} : %{subtitle}" + create: + notice: Journal was successfully created. + update: + notice: Journal was successfully updated. + destroy: + notice: Journal was successfully destroyed. + + posters: + index: + title: Posters + new: + title: New Posters + show: + title: "Posters : %{title}" + edit: + title: "Editing poster %{id} %{title} : %{subtitle}" + create: + notice: Poster was successfully created. + update: + notice: Poster was successfully updated. + destroy: + notice: Poster was successfully destroyed. + + stickers: + index: + title: Stickers + new: + title: New Stickers + show: + title: "Stickers : %{title}" + edit: + title: "Editing sticker %{id} %{title} : %{subtitle}" + create: + notice: Sticker was successfully created. + update: + notice: Sticker was successfully updated. + destroy: + notice: Sticker was successfully destroyed. + + podcasts: + index: + title: Podcasts + new: + title: New Podcasts + show: + title: "Podcasts : %{title}" + edit: + title: "Editing podcast %{id} %{title} : %{subtitle}" + + videos: + index: + title: Videos + new: + title: New Videos + show: + title: "Videos : %{title}" + edit: + title: "Editing video %{id} %{title} : %{subtitle}" + create: + notice: Video was successfully created. + update: + notice: Video was successfully updated. + destroy: + notice: Video was successfully destroyed. + + categories: + index: + title: Categories + new: + title: New Categories + show: + title: "Categories : %{name}" + edit: + title: "Editing category %{id} : %{name}" + create: + notice: Category was successfully created. + update: + notice: Category was successfully updated. + destroy: + notice: Category was successfully destroyed. + + episodes: + index: + title: Episodes + new: + title: New Episodes + show: + title: "Episodes : %{title}" + edit: + title: Editing episode %{id} %{title} + create: + notice: Episode was successfully created. + update: + notice: Episode was successfully updated. + destroy: + notice: Episode was successfully destroyed. + + users: + index: + title: Users + new: + title: New Users + show: + title: "Users : %{name}" + edit: + title: "Editing user %{id} : %{username}" + create: + notice: User was successfully created. + update: + notice: User was successfully updated. + destroy: + notice: User was successfully destroyed. + + pages: + index: + title: Pages + new: + title: New Pages + show: + title: "Pages : %{title}" + edit: + title: "Editing page %{id} %{title} : %{subtitle}" + create: + notice: Page was successfully created. + update: + notice: Page was successfully updated. + destroy: + notice: Page was successfully destroyed. + + locales: + index: + title: Locales + new: + title: New Locales + show: + title: "Locales : %{name}" + edit: + title: "Editing locale %{id} : %{abbreviation} : %{name_in_english} : %{name}" + + redirects: + index: + title: Redirects + new: + title: New Redirects + show: + title: "Redirects : %{source_path}" + edit: + title: Editing redirect %{id} %{source_path} + + definitions: + create: + notice: Definition was successfully created. + update: + notice: Definition was successfully updated. + destroy: + notice: Definition was successfully destroyed. + + issues: + create: + notice: Issue was successfully created. + update: + notice: Issue was successfully updated. + destroy: + notice: Issue was successfully destroyed. + + logos: + create: + notice: Logo was successfully created. + update: + notice: Logo was successfully updated. + destroy: + notice: Logo was successfully destroyed. + + tags: + create: + notice: Tag was successfully created. + update: + notice: Tag was successfully updated. + destroy: + notice: Tag was successfully destroyed. + + # Generic CRUD operation messages for fallback + notices: + created: "%{model} was successfully created." + updated: "%{model} was successfully updated." + destroyed: "%{model} was successfully destroyed." + + # Common UI elements + ui: + cancel: Cancel + delete: Delete + edit: Edit + new: NEW + save: Save + preview: Preview + publish: Publish + draft: Draft + published: Published + download_docx: Download .docx + toggle_navigation: Toggle navigation + + # Confirmation messages + confirmations: + delete: Are you sure you’re sure? There is NO UNDO. + + # Form labels and help text + forms: + publication_status: Publication Status + featured_status: Feature this %{model} on the homepage? + featured_status_help: In the Ex-Workers’ Collection + not_featured: Not featured + featured: Featured + labels: + publication_status: Publication Status + image_description: Image Description + summary: Summary + locale: Locale + buttons: + cancel: Cancel + save: Save + delete: Delete + edit: Edit %{model} + new: New %{model} + preview_draft: Preview Draft + download: Download .%{format} + help_text: + word_doc_upload: An uploaded .docx file will get converted to Markdown and used in the content textarea, over-writing any content that is already there. ONLY .docx files will work! + header_image: "This is the large image that will be front and center on the Article page, on the homepage and when syndicated to other sites. Preferred size: 2000px wide by about 1000px tall (or taller)." + featured_status: In the Ex-Workers' Collection + + # Help text and descriptions + help: + downloads_path: Downloads must be uploaded to + live_blog_help: "For live blog articles:" + preview_draft: Preview Draft + edit_article: Edit Article + jump_to: Jump to + + # Navigation breadcrumbs and links + nav: + admin_dashboard: 🖤 ADMIN + new_article: 📝 New Article + articles: 📄 Articles + redirects: ↪️ Redirects + new_redirect: ↪️ New Redirect + draft_articles: Draft ➡️ + published_articles: Published ➡️ + scroll_to_top: Scroll to Site Top + markdown_cheatsheet: Markdown Cheatsheet ↗ + breadcrumbs: + contradictionary: Contradictionary + definitions: Definitions + links: + admin_dashboard: ADMIN Dashboard + scroll_to_site_top: Scroll to Site Top + markdown_cheatsheet: Markdown Cheatsheet ↗ + new_nested_article: NEW Nested Article + + # Page sections + sections: + appearance: Appearance + syndication: Syndication + localization: Localization + categorization: Categories + featured_status: Featured Status + publication_status: Publication Status + danger_zone: The Danger Zone™ + nested_articles: Nested Articles + downloads: Downloads + jump_to: Jump to + + delete_no_undo: Are you sure you're sure? There is NO UNDO. + + activerecord: + errors: + models: + article: + source_path: + uniqueness: is already taken by article short path + target_path: + uniqueness: redirects to itself diff --git a/config/locales/en/auth.yml b/config/locales/en/auth.yml new file mode 100644 index 000000000..4f08a2a5a --- /dev/null +++ b/config/locales/en/auth.yml @@ -0,0 +1,13 @@ +en: + auth: + forgot_password_heading: Forget Your Password? + password_label: 🔑 Password + password_note: Passwords must be **at least %{password_minimum_length} characters** long. + reset_password_heading: Reset Your Password + signin_button_text: Sign In + signin_failed: Invalid email or password. + signin_heading: Sign In + signout: Signed out! + signup_heading: Sign Up + username_label: 🦁 Username + username_note: Not an email address. diff --git a/config/locales/en/controllers.yml b/config/locales/en/controllers.yml new file mode 100644 index 000000000..9cbc61932 --- /dev/null +++ b/config/locales/en/controllers.yml @@ -0,0 +1,84 @@ +en: + # Public site controllers + videos: + index: + title: Videos + tools: + index: + title: Tools + posters: + index: + title: Posters + journals: + index: + title: Journals + zines: + index: + title: Zines + stickers: + index: + title: Stickers + logos: + index: + title: Logos + podcasts: + index: + title: Podcasts + transcript: + title: Transcript + categories: + index: + title: Categories + books: + index: + title: Books + extras: + title: Extras + lit_kit: + title: Literature Distribution Kit + into_libraries: + title: CrimethInc. Into Libraries + contradictionary: + title: Contradictionary + days_of_war_nights_of_love: + title: Days of War Nights of Love + expect_resistance: + title: Expect Resistance + from_democracy_to_freedom: + title: From Democracy to Freedom + no_wall_they_can_build: + title: No Wall They Can Build + off_the_map: + title: Off the Map + recipes_for_disaster: + title: Recipes for Disaster + work: + title: Work + definitions: + index: + title: Definitions + archives: + index: + title: Archives + search: + index: + title: Search + results: + title: Results for + advanced: + title: Advanced Search + about: + contact: + title: Contact + about: + title: About + library: + title: Online Reading Library + store: + title: Store + rss_feeds: + title: RSS Feeds + submission_guidelines: + title: Submission Guidelines + steal_something_from_work_day: + title: Steal Something from Work Day diff --git a/config/locales/en/core.yml b/config/locales/en/core.yml new file mode 100644 index 000000000..cee4eddcc --- /dev/null +++ b/config/locales/en/core.yml @@ -0,0 +1,17 @@ +en: + name: English + language_direction: ltr + site_name: CrimethInc. + site_author: CrimethInc. Ex-Workers Collective + head: + meta_title: "CrimethInc. ex-Workers’ Collective: Your ticket to a world free of charge" + meta_image_url: https://cdn.crimethinc.com/assets/share/crimethinc-site-share.png + meta_description: | + CrimethInc. is a decentralized network pledged to anonymous collective action. + We strive to reinvent our lives and our world according to the principles of self-determination and mutual aid. + meta: + title: Your ticket to a world free of charge + generator: CrimethInc. Internet Rube Goldberg Machine 3000 + description: | + CrimethInc. is a decentralized network pledged to anonymous collective action. + We strive to reinvent our lives and our world according to the principles of self-determination and mutual aid. diff --git a/config/locales/en/en.yml b/config/locales/en/en.yml index da9503a9c..cae912df1 100644 --- a/config/locales/en/en.yml +++ b/config/locales/en/en.yml @@ -501,14 +501,14 @@ en: next: "›" next_screen_reader: Next truncate: "…" - next_page: "Next ›" + next_page: Next › previous_page: "‹ Previous" next_article: "%{title}: Next ›" previous_article: "‹ Previous: %{title}" next_month: "‹ Next Month (%{month})" - previous_month: "(%{month}) Previous Month ›" + previous_month: (%{month}) Previous Month › next_year: "‹ Next Year (%{year})" - previous_year: "(%{year}) Previous Year ›" + previous_year: (%{year}) Previous Year › tools: buy_now_button_text: Buy Now @@ -743,7 +743,7 @@ en: one_page: display_entries: zero: No %{entry_name} found - one: "Displaying 1 %{entry_name}" - other: "Displaying all %{count} %{entry_name}" + one: Displaying 1 %{entry_name} + other: Displaying all %{count} %{entry_name} more_pages: - display_entries: "Displaying %{entry_name} %{first} - %{last} of %{total} in total" + display_entries: Displaying %{entry_name} %{first} - %{last} of %{total} in total diff --git a/config/locales/en/feeds.yml b/config/locales/en/feeds.yml deleted file mode 100644 index f7d75a142..000000000 --- a/config/locales/en/feeds.yml +++ /dev/null @@ -1,11 +0,0 @@ -en: - feeds: - title: RSS Feeds - - intro: | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/config/locales/en/footer.yml b/config/locales/en/footer.yml new file mode 100644 index 000000000..2b0c6453a --- /dev/null +++ b/config/locales/en/footer.yml @@ -0,0 +1,85 @@ +en: + footer: + nav: + heading: Site Map + articles: + label: Articles + feed: RSS + adventure: Adventure + analysis: Analysis + arts: Arts + current_events: Current Events + geography: Geography + how_to: How To + history: History + news: News + technology: Technology + books: + label: Books + contradictionary: Contradictionary + days_of_war_nights_of_love: Days of War Nights of Love + expect_resistance: Expect Resistance + from_democracy_to_freedom: From Democracy to Freedom + no_wall_they_can_build: No Wall They Can Build + off_the_map: Off the Map + recipes_for_disaster: Recipes for Disaster + work: Work + podcast: + label: Podcast + feed: RSS + the_ex_worker: The Ex-Worker + the_hotwire: The Hotwire + no_wall_they_can_build: No Wall They can Build + videos: + label: Videos + tools: + label: Tools + zines: Zines + journals: Journals + posters: Posters + stickers: Stickers + videos: Videos + music: Music + logos: Logos + to_change_everything: To Change Everything + steal_something_from_work_day: Steal Something from Work Day + store: + label: Store + description: Books, Posters, Stickers, and more… + projects: + label: Projects + kickstarter: Kickstarter + about: + first_time_text: Is this your first time hearing about CrimethInc.? + first_time_link: Start here. → + heading: About CrimethInc. + description: | + CrimethInc. is a decentralized network pledged to anonymous collective action. + We strive to reinvent our lives and our world according to the principles of self-determination and mutual aid. + + Rather than competing for political power, we seek to undermine all power that oppresses us. + more_link: More about CrimethInc. → + donate_button_text: Support this site + contact: + newsletter: + heading: Email updates + description: Sign up here to receive regular email updates. _(Processed by Mailchimp.)_ + signup_form_placeholder: What's your email address? + signup_form_select_placeholder: You want a lot of emails? Or a little? + signup_form_select_option_lot: Every little thing. (Many emails) + signup_form_select_option_little: Just the big stuff! (Fewer emails) + signup_button_text: Sign up + social: + heading: Find us elsewhere + description: Keep up with our activities on the following additional platforms. + mantra: + - If your heart is free, the ground you stand on is liberated territory. Defend it. + - Only those prepared to go too far will learn how far they can go. + - Desperate measures are long overdue. + - Cradle the seed, even in the volcano's mouth. + - The future is in chains within you — set it free. + - A spark for every powder keg. + - Esperanza no espera. + - Mobilis in mobili + - Fighting the next war. + site_mode: Switch to the lite version of the site → diff --git a/config/locales/en/header.yml b/config/locales/en/header.yml new file mode 100644 index 000000000..50c48f73b --- /dev/null +++ b/config/locales/en/header.yml @@ -0,0 +1,17 @@ +en: + header: + about: About + audio: Podcasts + books: Books + first_time: First Time? Start Here → + languages: Languages + library: Library + locale_articles: See all articles in English → + search: Search + site_banner: "[Help us recover from the fire that destroyed our mailorder space →](https://www.gofundme.com/f/fire-destroyed-the-crimethinc-mailorder-space)" + site_mode: Switch to the full version of the site → + store: Store + subscribe: Subscribe + support: Support Us + tools: Tools + video: Video diff --git a/config/locales/en/languages.yml b/config/locales/en/languages.yml new file mode 100644 index 000000000..1c5735ef9 --- /dev/null +++ b/config/locales/en/languages.yml @@ -0,0 +1,18 @@ +en: + views: + languages: + heading: Languages + view_books_in_locale: You can access our books in English [here](https://en.crimethinc.com/books). + view_site_in_locale: View this site in English [here](https://en.crimethinc.com). + view_tools_in_locale: You can access an array of posters, zines, and other materials in English [here](https://en.crimethinc.com/tools). + + description: | + CrimethInc. material has appeared in over three dozen languages; + our introductory primer, [To Change Everything](/tce), is available in 30. + We have [long](/2010/08/18/non-english-crimethinc-projects) + aspired to collect all the different translations on this site. + If you would like to translate our material—or if you can help us to collect translations for + this archive or help us maintain communication between related projects around the world—please + [contact us](mailto:contact@crimethinc.com). + + Here, you can find all the articles on this site categorized according to language. diff --git a/config/locales/en/library.yml b/config/locales/en/library.yml index 31e43454d..0c9463e1c 100644 --- a/config/locales/en/library.yml +++ b/config/locales/en/library.yml @@ -24,271 +24,263 @@ en: sample: title: Sample Reading Lists + # TODO: change this to use "label:" instead of the key content links: Strategy and Analysis: - - - name: 'The Case for Resistance: What We’re Up Against—and What It Could Look Like to Fight' + - name: "The Case for Resistance: What We’re Up Against—and What It Could Look Like to Fight" path: /2024/11/20/the-case-for-resistance-what-were-up-against-and-what-it-could-look-like-to-fight - - name: 'Gender Subversion Today: A Reprint and a Remix of Our Classic Poster' + - name: "Gender Subversion Today: A Reprint and a Remix of Our Classic Poster" path: /2023/06/12/gender-subversion-today-a-reprint-and-a-remix-of-our-classic-poster - - name: 'Balance Sheet: Two Years against Cop City' + - name: "Balance Sheet: Two Years against Cop City" path: /2023/02/28/balance-sheet-two-years-against-cop-city-evaluating-strategies-refining-tactics - - name: 'Canary in the Coal Mine: Twitter and the End of Social Media' + - name: "Canary in the Coal Mine: Twitter and the End of Social Media" path: /2022/12/09/canary-in-the-coal-mine-twitter-and-the-end-of-social-media - - name: 'Anti-Work: From “I Quit” to “We Revolt”—Strategizing for 21st-Century Labor Resistance' + - name: "Anti-Work: From “I Quit” to “We Revolt”—Strategizing for 21st-Century Labor Resistance" path: /2022/05/10/anti-work-from-i-quit-to-we-revolt-strategizing-for-21st-century-labor-resistance - - name: 'Anarchist Resistance to the Trump Inauguration: Understanding the Events of January 20, 2017' + - name: "Anarchist Resistance to the Trump Inauguration: Understanding the Events of January 20, 2017" path: /2019/01/22/analysis-anarchist-resistance-to-the-trump-inauguration-learning-from-the-events-of-january-20-2017 - - name: 'Take Your Pick: Law or Freedom—How “Nobody Is above the Law” Abets the Rise of Tyranny' + - name: "Take Your Pick: Law or Freedom—How “Nobody Is above the Law” Abets the Rise of Tyranny" path: /2018/11/09/take-your-pick-law-or-freedom-how-nobody-is-above-the-law-abets-the-rise-of-tyranny - - name: 'La ZAD: Another End of the World Is Possible—Learning from 50 Years of Struggle at Notre-Dame-des-Landes' + - name: "La ZAD: Another End of the World Is Possible—Learning from 50 Years of Struggle at Notre-Dame-des-Landes" path: /2018/04/09/la-zad-another-end-of-the-world-is-possible-learning-from-50-years-of-struggle-at-notre-dame-des-landes Theory and Critique: - - - name: 'Against the Logic of the Guillotine: Why the Paris Commune Burned the Guillotine—and We Should Too' + - name: "Against the Logic of the Guillotine: Why the Paris Commune Burned the Guillotine—and We Should Too" path: /2019/04/08/against-the-logic-of-the-guillotine-why-the-paris-commune-burned-the-guillotine-and-we-should-too - - name: 'The Mythology of Work' + - name: The Mythology of Work path: /2018/09/03/the-mythology-of-work-eight-myths-that-keep-your-eyes-on-the-clock-and-your-nose-to-the-grindstone - - name: 'There’s No Such Thing as Revolutionary Government: Why You Can’t Use the State to Abolish Class' + - name: "There’s No Such Thing as Revolutionary Government: Why You Can’t Use the State to Abolish Class" path: /2018/05/29/theres-no-such-thing-as-revolutionary-government-why-you-cant-use-the-state-to-abolish-class - - name: 'Why We Don’t Make Demands' + - name: Why We Don’t Make Demands path: /2015/05/05/feature-why-we-dont-make-demands - - name: 'We Fight because We Like It: Maintaining Our Morale against Seemingly Insurmountable Odds' + - name: "We Fight because We Like It: Maintaining Our Morale against Seemingly Insurmountable Odds" path: /2018/03/22/we-fight-because-we-like-it-maintaining-our-morale-against-seemingly-insurmountable-odds - - name: 'From Democracy to Freedom' + - name: From Democracy to Freedom path: /2016/04/29/feature-from-democracy-to-freedom - - name: 'Deserting the Digital Utopia: Computers against Computing' + - name: "Deserting the Digital Utopia: Computers against Computing" path: /2013/10/04/feature-deserting-the-digital-utopia - - name: 'For All We Care: Reconsidering Self-Care' + - name: "For All We Care: Reconsidering Self-Care" path: /2013/05/31/for-all-we-care-reconsidering-self-care - - name: 'Accounting for Ourselves: Breaking the Impasse Around Assault and Abuse' + - name: "Accounting for Ourselves: Breaking the Impasse Around Assault and Abuse" path: /2013/04/17/accounting-for-ourselves-breaking-the-impasse-around-assault-and-abuse-in-anarchist-scenes Current Events: - - - name: 'The Siege of the Third Precinct in Minneapolis: An Account and Analysis' + - name: "The Siege of the Third Precinct in Minneapolis: An Account and Analysis" path: /2020/06/10/the-siege-of-the-third-precinct-in-minneapolis-an-account-and-analysis - - name: 'The City in the Forest: Reinventing Resistance for an Age of Climate Crisis and Police Militarization' + - name: "The City in the Forest: Reinventing Resistance for an Age of Climate Crisis and Police Militarization" path: /2022/04/11/the-city-in-the-forest-reinventing-resistance-for-an-age-of-ecological-collapse-and-police-militarization - - name: 'Germany: The Fight against the Tesla Gigafactory' + - name: "Germany: The Fight against the Tesla Gigafactory" path: /2024/03/08/germany-the-fight-against-the-tesla-gigafactory-some-occupy-the-forest-some-shut-down-the-power-grid - - name: '“It Is an Honor to Be Suspended for Palestine”: Dispatches from the Solidarity Encampment at Columbia University' + - name: "“It Is an Honor to Be Suspended for Palestine”: Dispatches from the Solidarity Encampment at Columbia University" path: /2024/04/21/it-is-an-honor-to-be-suspended-for-palestine-dispatches-from-the-solidarity-encampment-at-columbia-university - - name: 'Jin, Jiyan, Azadi (Woman, Life, Freedom): The Genealogy of a Slogan' + - name: "Jin, Jiyan, Azadi (Woman, Life, Freedom): The Genealogy of a Slogan" path: /2023/03/08/jin-jiyan-azadi-woman-life-freedom-the-genealogy-of-a-slogan - - name: 'Afghanistan: The Taliban Victory in a Global Context—An Anti-Imperial Perspective from a Veteran of the US Occupation' + - name: "Afghanistan: The Taliban Victory in a Global Context—An Anti-Imperial Perspective from a Veteran of the US Occupation" path: /2021/08/16/afghanistan-the-taliban-victory-in-a-global-context-a-perspective-from-a-veteran-of-the-us-occupation - - name: 'Three Months of Insurrection: An Anarchist Collective in Hong Kong Appraises the Achievements and Limits of the Revolt' + - name: "Three Months of Insurrection: An Anarchist Collective in Hong Kong Appraises the Achievements and Limits of the Revolt" path: /2019/09/20/three-months-of-insurrection-an-anarchist-collective-in-hong-kong-appraises-the-achievements-and-limits-of-the-revolt - - name: 'The Threat to Rojava: An Anarchist in Syria Speaks on the Real Meaning of Trump’s Withdrawal' + - name: "The Threat to Rojava: An Anarchist in Syria Speaks on the Real Meaning of Trump’s Withdrawal" path: /2018/12/28/the-threat-to-rojava-an-anarchist-in-syria-speaks-on-the-real-meaning-of-trumps-withdrawal - - name: 'Don’t Try to Break Us–We’ll Explode: The 2017 G20 and the Battle of Hamburg' + - name: "Don’t Try to Break Us–We’ll Explode: The 2017 G20 and the Battle of Hamburg" path: /2017/08/08/total-policing-total-defiance-the-2017-g20-and-the-battle-of-hamburg-a-full-account-and-analysis History: - - - name: 'Every Flag Is Black in a Fire: The Black Flag—Emblem of Rebellion, Negation, and Hope' + - name: "Every Flag Is Black in a Fire: The Black Flag—Emblem of Rebellion, Negation, and Hope" path: /2021/06/14/every-flag-is-black-in-a-fire-featuring-louise-michel-andre-breton-and-jean-genet - - name: 'The Kronstadt Uprising: A View from within the Revolt' + - name: "The Kronstadt Uprising: A View from within the Revolt" path: /2021/03/03/the-kronstadt-uprising-a-full-chronology-and-archive-including-a-view-from-within-the-revolt - - name: 'A Tale of Two General Strikes: Updating the General Strike for the 21st Century' + - name: "A Tale of Two General Strikes: Updating the General Strike for the 21st Century" path: /2022/06/07/a-tale-of-two-general-strikes-updating-the-general-strike-for-the-21st-century - - name: 'The Anarchists versus the Plague: Malatesta and the Cholera Epidemic of 1884' + - name: "The Anarchists versus the Plague: Malatesta and the Cholera Epidemic of 1884" path: /2020/05/26/the-anarchists-versus-the-plague-malatesta-and-the-cholera-epidemic-of-1884 - - name: 'June 30, 1876: Peter Kropotkin Escapes from Prison' + - name: "June 30, 1876: Peter Kropotkin Escapes from Prison" path: /2021/12/09/june-30-1876-peter-kropotkin-escapes-from-prison-a-tale-of-derring-do-on-the-occasion-of-his-birthday - - name: 'The May Days: Stories of Courage and Resistance—Snapshots from the History of May Day' + - name: "The May Days: Stories of Courage and Resistance—Snapshots from the History of May Day" path: /2017/05/01/mayday2017 - - name: '“Addicted to Tear Gas”: The Gezi Resistance, June 2013—Looking Back on a High Point of Resistance in Turkey' + - name: "“Addicted to Tear Gas”: The Gezi Resistance, June 2013—Looking Back on a High Point of Resistance in Turkey" path: /2022/06/20/addicted-to-tear-gas-the-gezi-resistance-june-2013-looking-back-on-a-high-point-of-resistance-in-turkey - - name: 'The Battle for Ungdomshuset: The Defense of a Squatted Social Center and the Strategy of Autonomy' + - name: "The Battle for Ungdomshuset: The Defense of a Squatted Social Center and the Strategy of Autonomy" path: /2019/03/01/the-battle-for-ungdomshuset-the-defense-of-a-squatted-social-center-and-the-strategy-of-autonomy - - name: 'Escaping Washington for Freedom: Let’s not Celebrate George Washington, but the Slaves Who Escaped Him' + - name: "Escaping Washington for Freedom: Let’s not Celebrate George Washington, but the Slaves Who Escaped Him" path: /2018/02/19/escaping-washington-for-freedom-lets-not-celebrate-george-washington-but-the-slaves-who-escaped-him How To: - - - name: 'Tools and Tactics in the Portland Protests: From Leaf Blowers and Umbrellas to Lasers, Balloons, and Power Tools' + - name: "Tools and Tactics in the Portland Protests: From Leaf Blowers and Umbrellas to Lasers, Balloons, and Power Tools" path: /2020/08/03/tools-and-tactics-in-the-portland-protests-from-leaf-blowers-and-umbrellas-to-lasers-bubbles-and-balloons - - name: 'A Collection of Action Resources' - path: /2020/10/27/everybody-out-resources-for-a-season-of-post-election-unrest + - name: A Collection of Action Resources + path: /2020/10/27/everybody-out-resources-for-a-season-of-post-election-unrest anchor: resources - - name: 'A Step-by-Step Guide to Direct Action: What It Is, What It’s Good for, How It Works' + - name: "A Step-by-Step Guide to Direct Action: What It Is, What It’s Good for, How It Works" path: /2017/03/14/direct-action-guide - - name: 'What Is Security Culture?' + - name: What Is Security Culture? path: /2004/11/01/what-is-security-culture - - name: 'Producing Transdermal Estrogen: A Do-It-Yourself Guide' + - name: "Producing Transdermal Estrogen: A Do-It-Yourself Guide" path: /2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide - - name: 'A Demonstrator’s Guide to Riot Munitions And How to Defend against Them' + - name: A Demonstrator’s Guide to Riot Munitions And How to Defend against Them path: /2021/01/04/a-demonstrators-guide-to-understanding-riot-munitions-and-how-to-defend-against-them - - name: 'A Demonstrator’s Guide to Responding to Gunshot Wounds: What Everyone Should Know' + - name: "A Demonstrator’s Guide to Responding to Gunshot Wounds: What Everyone Should Know" path: /2020/09/24/a-demonstrators-guide-to-responding-to-gunshot-wounds-what-everyone-should-know - - name: 'How to Survive a Felony Trial' + - name: How to Survive a Felony Trial path: /2017/02/08/how-to-survive-a-felony-trial-a-guide-to-keeping-your-head-up-through-the-worst - - name: 'The Sunbird: How to Start an Announcements-Only Thread on Signal' + - name: "The Sunbird: How to Start an Announcements-Only Thread on Signal" path: /2024/05/27/the-sunbird-how-to-start-an-announcements-only-thread-on-signal-and-how-organizers-in-austin-used-one-to-coordinate-solidarity-with-palestine Arts and Media: - - - name: 'Punk—Dangerous Utopia' + - name: Punk—Dangerous Utopia path: /2022/12/13/punk-dangerous-utopia-revisiting-the-relationship-between-punk-and-anarchism - - name: 'Fell in Love with Fire: A Documentary about the 2019 Uprising in Chile' + - name: "Fell in Love with Fire: A Documentary about the 2019 Uprising in Chile" path: /2024/10/21/fell-in-love-with-fire-an-documentary-about-the-2019-uprising-in-chile - - name: 'We Are Now: The Story of an Armed No-Cop Zone in Atlanta' + - name: "We Are Now: The Story of an Armed No-Cop Zone in Atlanta" path: /2021/05/19/we-are-now-the-story-of-an-armed-no-cop-zone-in-atlanta-a-documentary-film - - name: 'A Poem by Kenneth Rexroth, Painted across the Rooftops of the World' + - name: A Poem by Kenneth Rexroth, Painted across the Rooftops of the World path: /2020/12/22/a-poem-by-kenneth-rexroth-painted-across-the-rooftops-of-the-world-on-the-occasion-of-his-birthday - - name: 'Police: An Ethnography—A Photoessay about Armed Obedience' + - name: "Police: An Ethnography—A Photoessay about Armed Obedience" path: /2019/03/15/the-police-an-ethnography-a-photoessay-about-armed-obedience - - name: 'J20 Protest Simulator: Choose Your Own Adventure in the Streets and Courts of Washington, DC' + - name: "J20 Protest Simulator: Choose Your Own Adventure in the Streets and Courts of Washington, DC" path: /2019/01/18/j20-protest-simulator-choose-your-own-adventure-in-the-streets-and-courts-of-washington-dc - - name: 'The Secret World of Duvbo: A Magical Story about a Perfectly Ordinary World' + - name: "The Secret World of Duvbo: A Magical Story about a Perfectly Ordinary World" path: /2018/10/25/the-secret-world-of-duvbo-a-magical-story-about-a-perfectly-ordinary-world - name: 'Insurrection is Not a Game: Designing the Game "Bloc by Bloc"' path: /2018/06/04/insurrection-is-not-a-game-play-resistance-and-designing-the-game-bloc-by-bloc - - name: 'Put the Bots in Charge: Towards the Abolition of Human Authorship' + - name: "Put the Bots in Charge: Towards the Abolition of Human Authorship" path: /2018/04/01/we-put-the-bots-in-charge-towards-the-abolition-of-human-authorship - - name: 'The Spiral of Police Violence: A Work of Art Criticism' + - name: "The Spiral of Police Violence: A Work of Art Criticism" path: /2017/09/15/the-spiral-of-police-violence-a-work-of-art-criticism Narratives: - - - name: 'It’s Safer in the Front: Taking the Offensive against Tyranny' + - name: "It’s Safer in the Front: Taking the Offensive against Tyranny" path: /2025/01/28/its-safer-in-the-front-taking-the-offensive-against-tyranny - - name: 'Memories from Saint-Imier, 1872 to 2023: Accounts from a Worldwide Anarchist Gathering' + - name: "Memories from Saint-Imier, 1872 to 2023: Accounts from a Worldwide Anarchist Gathering" path: /2023/08/22/memories-from-saint-imier-1872-to-2023-accounts-from-a-worldwide-anarchist-gathering - - name: 'The Craziest Walk Ever: The View from in Front of the Burning Pentagon on September 11, 2001' + - name: "The Craziest Walk Ever: The View from in Front of the Burning Pentagon on September 11, 2001" path: /2021/09/10/the-craziest-walk-ever-the-view-from-in-front-of-the-burning-pentagon-on-september-11-2001 - - name: 'Québec City, April 2001: The Revolutionary Anti-Capitalist Offensive—Anarchists Confront the Summit of the Americas' + - name: "Québec City, April 2001: The Revolutionary Anti-Capitalist Offensive—Anarchists Confront the Summit of the Americas" path: /2021/04/19/the-revolutionary-anti-capitalist-offensive-anarchists-confront-the-summit-of-the-americas-april-2001 - - name: 'I Was a J20 Street Medic and Defendant: How We Survived the First J20 Trial and What We Learned along the Way' + - name: "I Was a J20 Street Medic and Defendant: How We Survived the First J20 Trial and What We Learned along the Way" path: /2019/01/20/i-was-a-j20-street-medic-and-defendant-how-we-survived-the-first-j20-trial-block-and-what-we-learned-along-the-way - - name: 'Looting Back: An Account of the Ferguson Uprising' + - name: "Looting Back: An Account of the Ferguson Uprising" path: /2019/08/09/looting-back-an-account-of-the-ferguson-uprising - - name: 'The Power is Running: A Memoir of N30—Shutting Down the WTO Summit in Seattle, 1999' + - name: "The Power is Running: A Memoir of N30—Shutting Down the WTO Summit in Seattle, 1999" path: /2017/11/30/the-power-is-running-a-memoir-of-n30-shutting-down-the-wto-summit-in-seattle-1999 - - name: 'UNControllables: The Story of an Anarchist Student Group—and How to Organize Your Own' + - name: "UNControllables: The Story of an Anarchist Student Group—and How to Organize Your Own" path: /2017/08/16/uncontrollables-the-story-of-an-anarchist-student-group-and-how-to-organize-your-own In Memoriam: - - - name: 'Memories of Aaron Bushnell' + - name: Memories of Aaron Bushnell path: /2024/02/29/memories-of-aaron-bushnell-as-recounted-by-his-friends - - name: 'In Memory of Klee Benally' + - name: In Memory of Klee Benally path: /2024/01/03/in-memory-of-klee-benally-an-interview-with-blackfire - - name: 'Let’s Be Done with Waiting: A Film in Memory of Alfredo Maria Bonanno' + - name: "Let’s Be Done with Waiting: A Film in Memory of Alfredo Maria Bonanno" path: /2023/12/19/lets-be-done-with-waiting-a-film-in-memory-of-alfredo-maria-bonanno - - name: 'In Memory of Dmitry Petrov: An Incomplete Biography and Translation of His Work' + - name: "In Memory of Dmitry Petrov: An Incomplete Biography and Translation of His Work" path: /2023/05/03/in-memory-of-dmitry-petrov-an-incomplete-biography-and-translation-of-his-work - - name: 'We Remember Jen Angel' + - name: We Remember Jen Angel path: /2023/02/10/we-remember-jen-angel-a-eulogy - - name: 'Luisa Toledo Sepúlveda: The Mother of Combative Youth' + - name: "Luisa Toledo Sepúlveda: The Mother of Combative Youth" path: /2021/07/09/remembering-luisa-toledo-sepulveda-the-mother-of-combative-youth-a-eulogy-and-report-from-chile - - name: 'The Shock Of Victory: An Essay by David Graeber and a Short Eulogy for Him' + - name: "The Shock Of Victory: An Essay by David Graeber and a Short Eulogy for Him" path: /2020/09/03/the-shock-of-victory-an-essay-by-david-graeber-and-a-eulogy-for-him - - name: 'Aragorn!—Elegy for an Antagonist: On Hostility and Its Limits' + - name: "Aragorn!—Elegy for an Antagonist: On Hostility and Its Limits" path: /2020/02/19/aragorn-elegy-for-an-antagonist-on-hostility-and-its-limits - - name: 'We Will Remember Freedom: Why It Matters that Ursula K. Le Guin Was an Anarchist' + - name: "We Will Remember Freedom: Why It Matters that Ursula K. Le Guin Was an Anarchist" path: /2018/01/25/we-will-remember-freedom-why-it-matters-that-ursula-k-le-guin-was-an-anarchist Classics: - - - name: 'The Secret Is to Begin' + - name: The Secret Is to Begin path: /2016/09/28/feature-the-secret-is-to-begin-getting-started-further-resources-frequently-asked-questions - - name: 'To Change Everything' + - name: To Change Everything path: /tce - - name: 'Fighting for Our Lives: An Anarchist Primer' + - name: "Fighting for Our Lives: An Anarchist Primer" path: /2017/11/28/fighting-for-our-lives-an-anarchist-primer - - name: 'The Contents of Your Daily Life' + - name: The Contents of Your Daily Life path: /2000/09/11/the-contents-of-your-daily-life - - name: 'Do You Have Ideas, or Do Ideas Have You?' + - name: Do You Have Ideas, or Do Ideas Have You? path: /2000/06/02/do-you-have-ideas-or-do-ideas-have-you - - name: 'One Dimensional Man in the Three Dimensional World' + - name: One Dimensional Man in the Three Dimensional World path: /2000/09/11/one-dimensional-man-in-the-three-dimensional-world - - name: 'Product Is the Excrement of Action' + - name: Product Is the Excrement of Action path: /2000/09/11/product-is-the-excrement-of-action - - name: 'There Is a Difference between Life and Survival' + - name: There Is a Difference between Life and Survival path: /2000/09/11/there-is-a-difference-between-life-and-survival - - name: 'Ultimatum' + - name: Ultimatum path: /2000/09/11/ultimatum - - name: 'Forward!' + - name: Forward! path: /2000/09/11/forward - - name: 'Join the Resistance: Fall in Love' + - name: "Join the Resistance: Fall in Love" path: /2000/09/11/join-the-resistance-fall-in-love - - name: 'There is a Secret World Concealed Within this One' + - name: There is a Secret World Concealed Within this One path: /2000/09/11/there-is-a-secret-world-concealed-within-this-one diff --git a/config/locales/en/mailers.yml b/config/locales/en/mailers.yml new file mode 100644 index 000000000..d3b649be1 --- /dev/null +++ b/config/locales/en/mailers.yml @@ -0,0 +1,8 @@ +en: + support_mailer: + edit_subscription: + header: Your Super Secret Support Link has arrived! + link_description: Anyone with the above link can use it to make changes to your subscription. It will expire in one hour. Keep it secret, keep it safe. + more_help: You can also reply to this email if need more assistance. + repeat_request: If you don't get around to making the changes you want in time, no worries. We can always send you another super secret link. + subject: Request for Super Secret Support Link diff --git a/config/locales/en/models.yml b/config/locales/en/models.yml new file mode 100644 index 000000000..cb2572fbc --- /dev/null +++ b/config/locales/en/models.yml @@ -0,0 +1,163 @@ +en: + activerecord: + models: + article: + one: Article + other: Articles + book: + one: Book + other: Books + category: + one: Category + other: Categories + episode: + one: Episode + other: Episodes + journal: + one: Journal + other: Journals + poster: + one: Poster + other: Posters + sticker: + one: Sticker + other: Stickers + video: + one: Video + other: Videos + zine: + one: Zine + other: Zines + user: + one: User + other: Users + page: + one: Page + other: Pages + podcast: + one: Podcast + other: Podcasts + definition: + one: Definition + other: Definitions + tag: + one: Tag + other: Tags + logo: + one: Logo + other: Logos + issue: + one: Issue + other: Issues + redirect: + one: Redirect + other: Redirects + locale: + one: Locale + other: Locales + + attributes: + article: + title: Title + subtitle: Subtitle + content: Content + summary: Summary + published_at: Published at + slug: Slug + short_path: Short Path + image_description: Image Description + locale: Language + publication_status: Publication Status + featured_status: Featured Status + tags: Tags + categories: Categories + tweet: Tweet + notes: Notes + css: CSS + year: Year + month: Month + day: Day + draft_code: Draft Code + canonical_id: Canonical Article + collection_id: Collection + featured_at: Featured At + published_at_tz: Published Timezone + book: + title: Title + subtitle: Subtitle + content: Content + summary: Summary + published_at: Published at + slug: Slug + short_path: Short Path + image_description: Image Description + locale: Language + publication_status: Publication Status + featured_status: Featured Status + price_in_cents: Price (cents) + buy_url: Buy URL + buy_info: Buy Info + content_format: Content Format + category: + name: Name + slug: Slug + episode: + title: Title + subtitle: Subtitle + content: Content + summary: Summary + audio_url: Audio URL + audio_length: Audio Length + audio_type: Audio Type + duration: Duration + podcast_id: Podcast + episode_number: Episode Number + user: + username: Username + password: Password + email: Email + role: Role + tag: + name: Name + slug: Slug + + errors: + messages: + blank: can't be blank + taken: has already been taken + too_short: is too short (minimum is %{count} characters) + too_long: is too long (maximum is %{count} characters) + invalid: is invalid + confirmation: doesn't match confirmation + models: + article: + attributes: + title: + blank: Title can't be blank + slug: + taken: Slug has already been taken for this date + short_path: + taken: Short path has already been taken + uniqueness: is already taken by article short path + published_at: + blank: Published date can't be blank for published articles + book: + attributes: + title: + blank: Title can't be blank + category: + attributes: + name: + blank: Name can't be blank + taken: Name has already been taken + user: + attributes: + username: + blank: Username can't be blank + taken: Username has already been taken + password: + blank: Password can't be blank + too_short: Password is too short (minimum is %{count} characters) + email: + blank: Email can't be blank + invalid: Email format is invalid diff --git a/config/locales/en/pages.yml b/config/locales/en/pages.yml new file mode 100644 index 000000000..d848dbd7e --- /dev/null +++ b/config/locales/en/pages.yml @@ -0,0 +1,13 @@ +en: + views: + pages: + feeds: + title: RSS Feeds + + intro: | + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/config/locales/en/pagination.yml b/config/locales/en/pagination.yml new file mode 100644 index 000000000..96d8461f7 --- /dev/null +++ b/config/locales/en/pagination.yml @@ -0,0 +1,32 @@ +en: + views: + pagination: + first: « + last: » + previous: ‹ + previous_screen_reader: Previous + next: › + next_screen_reader: Next + truncate: … + next_page: Next › + previous_page: ‹ Previous + next_article: Next article › + previous_article: ‹ Previous article + next_month: Next month › + previous_month: ‹ Previous month + next_year: Next year › + previous_year: ‹ Previous year + + helpers: + page_entries_info: + entry: + zero: entries + one: entry + other: entries + one_page: + display_entries: + zero: No %{entry_name} found + one: Displaying 1 %{entry_name} + other: Displaying all %{count} %{entry_name} + more_pages: + display_entries: Displaying %{entry_name} %{first} - %{last} of %{total} in total diff --git a/config/locales/en/podcasts.yml b/config/locales/en/podcasts.yml new file mode 100644 index 000000000..41009cf65 --- /dev/null +++ b/config/locales/en/podcasts.yml @@ -0,0 +1,17 @@ +en: + views: + podcasts: + show: + download: Download + full_episode_transcript: Full Episode Transcript + latest_episode: Latest Episode + listen: Listen to the Episode + notes_and_links: Notes and Links + other_episodes: All Episodes + show_notes: Show Notes + subscribe_in_itunes: Subscribe in iTunes + subscribe_in_overcast: Subscribe in Overcast + subscribe_in_pocket_casts: Subscribe in Pocket Casts + subscribe_to_rss: Subscribe to RSS + summary: Summary + transcript: Transcript diff --git a/config/locales/en/search.yml b/config/locales/en/search.yml new file mode 100644 index 000000000..c10fe178d --- /dev/null +++ b/config/locales/en/search.yml @@ -0,0 +1,19 @@ +en: + views: + search: + index: + title: Search Archives + advanced: + title: Advanced Search + heading: Advanced Search + form: + button: Search + category_label: Categories + comma_separated_note: (comma separated) + content_label: Content + subtitle_label: Subtitle + tag_label: Tags + term_label: Search + title_label: Title + form_placeholder: Search Archives… + search_results: Search Results diff --git a/config/locales/en/support.yml b/config/locales/en/support.yml new file mode 100644 index 000000000..b99dc841a --- /dev/null +++ b/config/locales/en/support.yml @@ -0,0 +1,95 @@ +en: + views: + support: + new: + heading: Invest Your Money in CrimethInc.—! + description: | + _Use the slider to adjust your donation._ + _No amount is too big to be needed or too small to be helpful!_ + _If you can, sign up to donate on a monthly basis,_ + _so we can count on you to sustain us for the long haul._ + + CrimethInc. is an all-volunteer project with no outside sources of funding. + We offer everything we do for free or at break-even prices while maintaining + some of the highest quality standards in our field. + We publish constantly, circulating material in [over 30 languages](/tce) on + [all seven continents](/2008/01/06/now-serving-seven-continents). + We've kept this up for a quarter of a century. + + We do all this on a shoestring budget—but despite our ingenuity, some expenses are unavoidable. + We depend on your assistance to cover those. + With more resources, we could expand to utilize more formats and free up time to publish even more frequently. + + As always, of course, the very best way to support what we are doing is to _do it yourself._ + radio_label_monthly: Monthly + radio_label_one_time: One-time + amount_label: Support Amount + description_monthly: Monthly Subscription + description_one_time: One-Time Support + button_text: Next → + support_request: + header: Existing Monthly Subscribers + description: | + Need to update or cancel your subscription? + Enter the email address you used to sign up, + and we will send you an email with a super secret link where you can make changes. + email_label: Email Address + email_placeholder: you@example.com + button_text: Send Super Secret Link + create: + repeat_subscriber_error: | + We already have a monthly subscriber with that email address. + If you'd still like to give more, try a one-time donation. + Thanks! + create_session: + no_existing_customer_error: | + We can't find any monthly subscribers with that email address. + If you think this is in error, + please [send us an email](mailto:contact@crimethinc.com) so we can help you. + success_notice: We sent an email to _%{email}_ with a link where you can make changes to your subscription. + repeat_customer_error: | + You already submitted a request! + Look for an email from _contact@crimethinc.com_. + If you never got the email or you've lost your super secret link, wait an hour and try again. + edit: + heading: Your Subscription + description: Thank you so much for your ongoing support. We count on contributions like yours to do what we do. + expired_link_error: That link has expired. Please try again. + expires_at: This page will expire in about %{minutes} minutes. + update: + amount_label: Monthly Support + amount_slider_label: Drag the slider to change your subscription amount. + button_text: Update Subscription + button_confirm: Are you sure you want to update your subscription amount? + start_date: Subscribed since + next_date: Next charge + cancel: + header: If you want to cancel your subscription, click the big red button! + button_text: Cancel Subscription + button_confirm: Are you sure you want to completely cancel your subscription? + update_subscription: + notice: Your subscription amount has been updated! + error: | + There was a problem updating your subscription. + Try again! + If the problem continues, + please [send us an email](mailto:contact@crimethinc.com) so we can help you. + cancel_subscription: + notice: Your subscription has been canceled. + error: | + There was a problem canceling your subscription. + Try again! + If the problem continues, + please [send us an email](mailto:contact@crimethinc.com) so we can help you. + thanks: + heading: Thanks for your help! + description: | + Thank you so much for supporting CrimethInc.! + Because we are a decentralized collective, + it is not possible for us to offer the same sorts of perks that organizations + with more formal structures use as fundraising incentives. + What we can do is promise that every contribution helps us to keep this material free, + to distribute it as widely as possible, to continue creating new resources, + and to work together towards the realization of a freer world. + + _Keep checking back! Our site is updated daily, there's always something new._ diff --git a/config/locales/en/tools.yml b/config/locales/en/tools.yml new file mode 100644 index 000000000..af9e8e259 --- /dev/null +++ b/config/locales/en/tools.yml @@ -0,0 +1,110 @@ +en: + downloads: + heading: Downloads + formats: + screen_single_page_view: Screen Single Page View PDF + screen_two_page_view: Screen Two Page View PDF + print_color: Print Color PDF + print_black_and_white: Print B/W PDF + print_color_a4: Print Color A4 PDF + print_black_and_white_a4: Print B/W A4 PDF + lite: Ink Lite PDF + epub: ePub + mobi: Mobi + buy_now_button_text: Buy Now + # these text values are wrapped in quotes because each has a colon in its text value + download_front_button_text: "Download PDF : Front" + download_back_button_text: "Download PDF : Back" + download_front_color_button_text: "Download PDF : Front Color" + download_back_color_button_text: "Download PDF : Back Color" + download_front_black_and_white_button_text: "Download PDF : Front B/W" + download_back_black_and_white_button_text: "Download PDF : Back B/W" + pdf_donate_button_text: Donate + pdf_donate_button_label: Donate here to help us keep this PDF freely available and continue creating new ones. + + views: + tools: + tools_heading_text: Tools + tools_intro_text: | + Drawing on more than two decades of activity, + we offer a wide range of material for you to download or order in mass quantities. + Use these to educate, agitate, and transform the spaces around you. + buttons: + browse_journals_text: Browse All Journals + browse_logos_text: Browse All Logos + browse_music_text: Browse All Music + browse_posters_text: Browse All Posters + browse_stickers_text: Browse All Stickers + browse_videos_text: Browse All Videos + browse_zines_text: Browse All Zines + + books: + books_heading_text: We love making books. + books_intro_text: | + From passionate writing and meticulous editing, to intricate and unique design, + to expert and careful production, these books are the result of much love and care. + We’ve been at this for over a decade, and you’ll find the proof in all + the tiny details and orchestrated moments that can only be achieved with ink-soaked paper. + + All our books are printed with soy ink on 100% post-consumer recycled paper + by skilled artisans in Louisville, Quebec, Canada using the finest offset printing presses. + book_download_read_button_text: Download Two Page View PDF + book_download_print_button_text: Download Print PDF + book_download_lite_button_text: Download Single Page View PDF + book_download_epub_button_text: Download ePub eBook + book_download_mobi_button_text: Download Mobi eBook + + journals: + journals_heading_text: Journals + journals_intro_text: | + Here, you can download PDFs of _Rolling Thunder,_ + our acclaimed journal of analysis and direct action, + _Harbinger_, our classic tabloid spreading "the propaganda of desire," + and other ambitious serial publications from the past two decades. + + logos: + logos_heading_text: Logos + logos_intro_text: CrimethInc. for yourself! Logos for your own CrimethInc. projects. + + music: + music_intro_text: | + Download a wide range of the albums we've + [released](/2018/10/22/crimethinc-music-releases-now-on-bandcamp) since 1996, + [punk](/2018/10/22/music-as-a-weapon-the-contentious-symbiosis-of-punk-rock-and-anarchism) and otherwise. + + posters: + posters_heading_text: Posters + posters_intro_text: | + Bring the walls of your home, school, town, or community center to life! + We recommend using wallpaper paste or [wheatpaste](/posters) to post these in public places. + + stickers: + stickers_heading_text: Stickers + stickers_intro_text: | + Help the mute objects around you communicate more eloquently! + Order these in bulk or print them out on adhesive paper. + + videos: + videos_intro_text: | + Emergency Broadcast System — A selection of videos from CrimethInc. + Perpetual Motion Pictures + + zines: + zines_heading_text: Zines + zines_intro_text: | + A great many of our texts are available here in pamphlet form. + Print them out or photocopy them to distribute at schools, protests, concerts, + social events, farmers' markets, and anywhere else people might be hungry for ideas. + You can also obtain PDFs of _To Change Everything,_ our introduction to anarchism, + in dozens of languages at the [_To Change Everything_ site](/tce). + zine_download_read_button_text: Download PDF for Reading + zine_download_print_button_text: Download PDF for Printing + zine_download_lite_button_text: Download Ink Lite PDF + zine_download_epub_button_text: Download ePub eBook + zine_download_mobi_button_text: Download Mobi eBook + + books_into_libraries: + crimethinc_into_libraries_heading: CrimethInc. Into Libraries + crimethinc_into_libraries_intro: For those who don't have the extra resources with which to buy books or who just aren't excited about acquiring more possessions, we have good news for you—the [CrimethInc. Into Libraries program](/books/into-libraries). Our books are [in more libraries than you might guess](/2007/10/09/crimethinc-into-libraries-progress-report), and if not, you can probably get them onto the shelves, for free. [Find out how!](/books/into-libraries) + literature_distro_kit_heading: Literature Distro Kit + literature_distro_kit_intro: Our books are the cornerstone of our [Literature Distribution Kit](/books/lit-kit), an all-in-one literature distro for you to deploy how you see fit. It contains a mix of both books to sell and stuff to give away, everything you need to set up a table at a show, take on tour, or spread the word out of your backpack or break-room. diff --git a/config/locales/es/2025.yml b/config/locales/es/2025.yml index 6d7336cff..19a193dac 100644 --- a/config/locales/es/2025.yml +++ b/config/locales/es/2025.yml @@ -19,29 +19,132 @@ es: head: # meta_title is wrapped in quotes because it has a colon in its text value meta_title: "CrimethInc. colectivo de ex-trabajadores: Tu boleto gratuito a un mundo nuevo" - meta_image_url: https://cdn.crimethinc.com/assets/share/crimethinc-site-share.png meta_description: CrimethInc. es una red descentralizada dedicada a la acción colectiva anónima. Luchamos por reinventar nuestras vidas y nuestro mundo de acuerdo con los principios de la autodeterminación y el apoyo mutuo. + # TODO: move this out of YAML, into a view + meta_image_url: https://cdn.crimethinc.com/assets/share/crimethinc-site-share.png + + # terms + about: Sobre + adventure: Aventura + analysis: Análisis + archives: Los Archivos + articles: Artículos + arts: Artes + books: Libros + categories: Categorías + current_events: Eventos + email: Email + geography: Geografía + history: Historia + how_to: Cómo hacerle + journals: Periódicos + languages: Idiomas + library: Biblioteca + logos: Logos + music: Música + news: Noticias + page: Página + podcasts: Podcasts + posters: Posters + published: Publicado + rss: RSS + rss_feeds: Feeds RSS + search: Buscar + share: Compartir + sitemap: Mapa del sitio + stickers: Stickers + store: Tienda + tags: Tags + technology: Tecnología + tools: Herramientas + videos: Videos + zines: Zines + + # phrases + categories_heading: Navegar por categoría + chronological_heading: Navegar cronológicamente + ex_workers_collection: Colección de Ex-Trabajadores + featured_books: Libros destacados + just_published: Recién publicado + keep_reading: Seguir leyendo + latest_article: Último artículo + latest_podcast_episode: Último episodio del podcast + learn_more: Aprende más + listen_to_episode: Escucha el episodio + more_articles: Más artículos + more_podcast_episodes: Más episodios del podcast + more_tools: Más herramientas + recent_articles: Artículos recientes + recent_podcast_episodes: Episodios recientes del podcast + search_placeholder: Busca en los archivos… + selected_tools: Herramientas seleccionadas + support: Apóyanos + + # Books + contradictionary: Contradiccionario + days_of_war_nights_of_love: Días de guerra, noches de amor + expect_resistance: Esperen resistencia + from_democracy_to_freedom: De la democracia a la libertad + no_wall_they_can_build: Ningún muro que ellos puedan construir + off_the_map: Fuera del mapa + recipes_for_disaster: Recetas para el desastre + work: Trabajo + # Projects + steal_something_from_work_day: Steal Something from Work Day + to_change_everything: Para Cambiar Todo + # Podcasts + the_ex_worker: El Ex-Trabajador + the_hotwire: The Hotwire - header: - books: Books - library: Library - tools: Tools - podcasts: Podcasts - store: Store - about: About - - support: Support Us - - languages: Languages - search: Search - share: Share - - cards: - languages: - search: - share: - description: Everything conspires to suppress the voices of those who fight for a better world. Help us bring them to a wide audience. - twitter: Twitter + cards: + share: + description: | + Todo conspira para suprimir las voces de quienes luchan por un mundo mejor. + Ayúdanos a llevarlas a una audiencia amplia. + domains: facebook: Facebook - tumblr: Tumblr - email: Email + tumblr: Tumblr + email: Email + + about: + first_time_description: ¿Es tu primera vez escuchando sobre CrimethInc.? + first_time_link: Empieza aquí. → + search_description: O puedes **buscar** en más de dos décadas de archivos. + description: | + CrimethInc. es una alianza rebelde—una red descentralizada comprometida con la acción colectiva anónima—una fuga de las prisiones de nuestra era. + Luchamos por reinventar nuestras vidas y nuestro mundo de acuerdo con los principios de la autodeterminación y el apoyo mutuo. + Creemos que deberías ser libre de disponer de tu potencial ilimitado en tus propios términos: + que ningún gobierno, mercado, o ideología debería poder dictar lo que tu vida puede ser. + Si estás de acuerdo, _hagamos algo al respecto._ + more_link: Lee más → + + search: + description: Puedes **buscar** en más de dos décadas de archivos. + + footer: + store_description: Libros, posters, stickers y más… + site_mode: Cambiar a la versión pequeña del sitio → + + contact: + newsletter: + heading: Alertas de correo + description: Suscríbete para recibir actualizaciones regulares. _(Processed by Mailchimp.)_ + signup_form_placeholder: ¿Cuál es tu dirección de email? + signup_form_select_placeholder: ¿Quieres muchos emails? ¿O pocos? + signup_form_select_option_lot: Cada pequeño detalle. (Muchos correos) + signup_form_select_option_little: ¡Solo las cosas importantes! (Menos correos) + signup_button_text: Suscríbete + social: + heading: Encuéntranos en otros lados + description: Mantente al tanto de nuestras actividades en las siguientes plataformas adicionales. + + mantras: + - Si tu corazón es libre, el suelo en el que te paras es territorio liberado. Defiéndelo. + - Solo aquellos preparados para ir demasiado lejos aprenderán hasta dónde pueden llegar. + - Las medidas desesperadas están muy atrasadas. + - Acuna la semilla, incluso en la boca del volcán. + - El futuro está encadenado dentro de ti—libéralo. + - Una chispa para cada barril de pólvora. + - Esperanza no espera. + - Mobilis in mobili + - Luchando la próxima guerra. diff --git a/config/locales/admin/es.yml b/config/locales/es/admin.yml similarity index 93% rename from config/locales/admin/es.yml rename to config/locales/es/admin.yml index 048c80c62..493ce5d99 100644 --- a/config/locales/admin/es.yml +++ b/config/locales/es/admin.yml @@ -1,6 +1,11 @@ es: admin: title_prepend: Admin + + dashboard: + index: + title: Dashboard + articles: index_title: Artículos new_title: Nuevos Artículos @@ -98,7 +103,7 @@ es: index_title: Episodios new_title: Nuevos Episodios show_title: "Episodios : %{title}" - edit_title: "Editando episodio %{id} %{title}" + edit_title: Editando episodio %{id} %{title} create: notice: El episodio se creó correctamente. update: @@ -127,11 +132,6 @@ es: notice: La página se actualizó correctamente. destroy: notice: La página se eliminó correctamente. - links: - index_title: Enlaces - new_title: Nuevos Enlaces - show_title: "Enlaces : %{name}" - edit_title: "Editando enlace %{id} : %{name}" locales: index_title: Idiomas new_title: Nuevos Idiomas @@ -141,7 +141,7 @@ es: index_title: Redirecciones new_title: Nuevas Redirecciones show_title: "Redirecciones : %{source_path}" - edit_title: "Editando redirección %{id} %{source_path}" + edit_title: Editando redirección %{id} %{source_path} # Additional admin sections for controllers without page titles definitions: @@ -179,6 +179,11 @@ es: updated: "%{model} se actualizó correctamente." destroyed: "%{model} se eliminó correctamente." + tools: + poster: + image_description: Photo of '%{title}' front side + back_image_description: Photo of '%{title}' back side + # Common UI elements ui: cancel: Cancelar @@ -193,17 +198,17 @@ es: # Confirmation messages confirmations: - delete: "¿Estás seguro? NO HAY DESHACER." + delete: ¿Estás seguro? NO HAY DESHACER. # Form labels and help text forms: publication_status: Estado de publicación - featured_status: "¿Destacar este %{model} en la página principal?" + featured_status: ¿Destacar este %{model} en la página principal? featured_status_help: En la Colección de Ex-Trabajadores not_featured: No destacado featured: Destacado upload_word_doc: Subir un archivo de Word - word_doc_help: "Un archivo .docx subido se convertirá a Markdown y se usará en el área de contenido, sobrescribiendo cualquier contenido que ya esté allí. ¡SOLO funcionan archivos .docx!" + word_doc_help: Un archivo .docx subido se convertirá a Markdown y se usará en el área de contenido, sobrescribiendo cualquier contenido que ya esté allí. ¡SOLO funcionan archivos .docx! header_image: Imagen de cabecera header_image_help: "Esta es la imagen grande que estará al frente y al centro en la página del Artículo, en la página principal y cuando se sindique a otros sitios. Tamaño preferido: 2000px de ancho por aproximadamente 1000px de alto (o más alto)." short_url_path: Ruta de URL corta diff --git a/config/locales/es/auth.yml b/config/locales/es/auth.yml new file mode 100644 index 000000000..f7eba25cd --- /dev/null +++ b/config/locales/es/auth.yml @@ -0,0 +1,13 @@ +es: + auth: + forgot_password_heading: ¿Olvidaste tu Contraseña? + password_label: 🔑 Contraseña + password_note: Las contraseñas deben tener **al menos %{password_minimum_length} caracteres** de largo. + reset_password_heading: Restablecer tu Contraseña + signin_button_text: Iniciar Sesión + signin_failed: Email o contraseña inválidos. + signin_heading: Iniciar Sesión + signout: ¡Sesión cerrada! + signup_heading: Registrarse + username_label: 🦁 Nombre de usuario + username_note: No es una dirección de email. diff --git a/config/locales/es/controllers.yml b/config/locales/es/controllers.yml new file mode 100644 index 000000000..e3ad4a12c --- /dev/null +++ b/config/locales/es/controllers.yml @@ -0,0 +1,84 @@ +es: + # Public site controllers + videos: + index: + title: Videos + tools: + index: + title: Herramientas + posters: + index: + title: Posters + journals: + index: + title: Periódicos + zines: + index: + title: Zines + stickers: + index: + title: Stickers + logos: + index: + title: Logos + podcasts: + index: + title: Podcasts + transcript: + title: Transcripciones + categories: + index: + title: Categorías + books: + index: + title: Libros + extras: + title: Extras + lit_kit: + title: Kit de distribución de libros + into_libraries: + title: CrimethInc. Libros introductorios + contradictionary: + title: Contradiccionario + days_of_war_nights_of_love: + title: Días de guerra, noches de amor + expect_resistance: + title: Esperen resistencia + from_democracy_to_freedom: + title: De la democracia a la libertad + no_wall_they_can_build: + title: Ningún muro que ellos puedan construir + off_the_map: + title: Fuera del mapa + recipes_for_disaster: + title: Recetas para el desastre + work: + title: Trabajo + definitions: + index: + title: Definiciones + archives: + index: + title: Archivos + search: + index: + title: Buscar + results: + title: Resultados + advanced: + title: Búsqueda avanzada + about: + contact: + title: Contact + about: + title: About + library: + title: Biblioteca en línea + store: + title: Tienda + rss_feeds: + title: Feeds RSS + submission_guidelines: + title: Para colaboraciones + steal_something_from_work_day: + title: Steal Something from Work Day diff --git a/config/locales/es/core.yml b/config/locales/es/core.yml new file mode 100644 index 000000000..ba068ca53 --- /dev/null +++ b/config/locales/es/core.yml @@ -0,0 +1,17 @@ +es: + name: Español + language_direction: ltr + site_name: CrimethInc. + site_author: CrimethInc. Colectivo de Ex-trabajadores + head: + meta_title: "CrimethInc. colectivo de ex-trabajadores: Tu boleto gratuito a un mundo nuevo" + meta_image_url: https://cdn.crimethinc.com/assets/share/crimethinc-site-share.png + meta_description: | + CrimethInc. es una red descentralizada dedicada a la acción colectiva anónima. + Luchamos por reinventar nuestras vidas y nuestro mundo de acuerdo con los principios de la autodeterminación y el apoyo mutuo. + meta: + title: Tu boleto gratuito a un mundo nuevo + generator: Máquina de Rube Goldberg de Internet CrimethInc. 3000 + description: | + CrimethInc. es una red descentralizada dedicada a la acción colectiva anónima. + Luchamos por reinventar nuestras vidas y nuestro mundo de acuerdo con los principios de la autodeterminación y el apoyo mutuo. diff --git a/config/locales/es/es.yml b/config/locales/es/es.yml index 1800caf01..c316ecac6 100644 --- a/config/locales/es/es.yml +++ b/config/locales/es/es.yml @@ -1,7 +1,3 @@ -# Rails I18n Locale: ES -# This file has been migrated to use Rails I18n conventions. -# Please translate all entries marked with '[TODO- Translate]' - es: name: Español language_direction: ltr diff --git a/config/locales/es/footer.yml b/config/locales/es/footer.yml new file mode 100644 index 000000000..868bf416c --- /dev/null +++ b/config/locales/es/footer.yml @@ -0,0 +1,84 @@ +es: + footer: + nav: + heading: Mapa del sitio + articles: + label: Artículos + feed: RSS + adventure: Aventura + analysis: Análisis + arts: Artes + current_events: Eventos + geography: Geografía + how_to: Cómo hacerle + history: Historia + news: Noticias + technology: Tecnología + books: + label: Libros + contradictionary: Contradiccionario + days_of_war_nights_of_love: Días de guerra, noches de amor + expect_resistance: Esperen resistencia + from_democracy_to_freedom: De la democracia a la libertad + no_wall_they_can_build: Ningún muro que ellos puedan construir + off_the_map: Fuera del mapa + recipes_for_disaster: Recetas para el desastre + work: Trabajo + podcast: + label: Podcast + feed: RSS + the_ex_worker: El Ex-Trabajador + the_hotwire: The Hotwire + no_wall_they_can_build: No Wall They can Build + videos: + label: Videos + tools: + label: Herramientas + zines: Zines + journals: Periódicos + posters: Posters + stickers: Stickers + videos: Videos + music: Música + logos: Logos + to_change_everything: Para Cambiar Todo + steal_something_from_work_day: Steal Something from Work Day + store: + label: Tienda + description: Libros, posters, stickers y más… + projects: + label: Proyectos + kickstarter: Kickstarter + about: + first_time_text: "¿Es la primera vez que escuchas de CrimethInc.?" + first_time_link: Empieza aquí. → + heading: Sobre CrimethInc. + description: | + CrimethInc. es una alianza rebelde-una red descentralizada dedicada a la acción colectiva anónima-una fuga de la prisión de nuestro tiempo. Luchamos por reinventar nuestras vidas y nuestro mundo de acuerdo a los principios de la autodeterminación y el apoyo mutuo. + + Creemos que deberías poder disponer de tu ilimitado potencial en tus propios términos: que ningún gobierno, mercado o ideología debe dictar lo que tu vida ha de ser. Si estás de acuerdo, _hagamos algo al respeto_. + more_link: Más sobre CrimethInc. → + donate_button_text: Apoya este sitio + contact: + newsletter: + heading: Alertas de correo + description: Suscríbete para recibir actualizaciones regulares. _(Processed by Mailchimp.)_ + signup_form_placeholder: "¿Cuál es tu correo electrónico?" + signup_form_select_placeholder: "¿Quieres muchos correos o pocos?" + signup_form_select_option_lot: Cada pequeño detalle. (Muchos correos) + signup_form_select_option_little: "¡Sólo lo importante! (menos correos)" + signup_button_text: Suscríbete + social: + heading: Encuéntranos en otros lados + description: Mantente al tanto de nuestras actividades en las siguientes plataformas adicionales + mantra: + - Si tu corazón es libre, el suelo donde estás es territorio liberado. Defiéndelo. + - Sólo aquellos preparados para ir lejos descubren qué tan lejos pueden llegar. + - Ya va siendo tiempo de medidas desesperadas. + - Cultiva la semilla, incluso en la boca del volcán. + - El futuro está encadenado dentro de ti — Libéralo. + - Una chispa en cada barril de pólvora. + - La esperanza no espera. + - Mobilis in mobili + - Luchando la próxima guerra. + site_mode: Cambiar a a versión pequeña del sitio → diff --git a/config/locales/formats/es.yml b/config/locales/es/formats.yml similarity index 100% rename from config/locales/formats/es.yml rename to config/locales/es/formats.yml diff --git a/config/locales/es/header.yml b/config/locales/es/header.yml new file mode 100644 index 000000000..eda90284d --- /dev/null +++ b/config/locales/es/header.yml @@ -0,0 +1,17 @@ +es: + header: + about: Sobre + audio: Podcasts + books: Libros + first_time: "¿Tu primera vez? Empieza aquí →" + languages: Idiomas + library: Biblioteca + locale_articles: Vea todos los artículos en Español → + search: Buscar + site_banner: "[Ayúdanos a recuperarnos del fuego que destruyó nuestro espacio de distribución por correo →](https://www.gofundme.com/f/fire-destroyed-the-crimethinc-mailorder-space)" + site_mode: Cambiar a la versión completa del sitio → + store: Tienda + subscribe: Subscríbete + support: Apóyanos + tools: Herramientas + video: Video diff --git a/config/locales/es/languages.yml b/config/locales/es/languages.yml new file mode 100644 index 000000000..668d4342f --- /dev/null +++ b/config/locales/es/languages.yml @@ -0,0 +1,17 @@ +es: + views: + languages: + heading: Idiomas + view_site_in_locale: Ver el sitio en español [aquí](https://es.crimethinc.com). + view_tools_in_locale: Se puede acceder nuestros afiches, fanzines, y otros materiales en español [aquí](https://es.crimethinc.com/tools). + view_books_in_locale: Se puede acceder nuestros libros en español [aquí](https://es.crimethinc.com/books). + + description: | + El material de CrimethInc. ha aparecido en más de tres docenas de idiomas; + nuestro manual introductorio, [Para Cambiar Todo](/tce), está disponible en 30. + Hemos aspirado por mucho tiempo a recopilar todas las diferentes traducciones en este sitio. + Si te gustaría traducir nuestro material—o si puedes ayudarnos a recopilar traducciones para + este archivo o ayudarnos a mantener comunicación entre proyectos relacionados alrededor + del mundo—por favor [contáctanos](mailto:contact@crimethinc.com). + + Aquí, puedes encontrar todos los artículos en este sitio categorizados según el idioma. diff --git a/config/locales/es/library.yml b/config/locales/es/library.yml new file mode 100644 index 000000000..ba8a32b76 --- /dev/null +++ b/config/locales/es/library.yml @@ -0,0 +1,286 @@ +es: + library: + title: Online Reading Library + + intro: | + This online archive includes essays, stories, accounts, and other texts + that have appeared under the CrimethInc. insignia over the past quarter of a century. + It is extensive, but by no means comprehensive. + + Some of these texts are available as PDFs in our [Tools](/tools) section. You’ll + find zines, magazines, papers, and posters on a wide range of topics, ready for you + to print them out and distribute them to everyone in your path. You can also + download back issues of [journals](/journals) we have published, including + _[Rolling Thunder](/journals/rolling-thunder)_, _[Harbinger](/journals/harbinger)_, + and _[Inside Front](/journals/inside-front)_. + + sections: + theme: + title: Navigate by Theme + + chronological: + title: Navigate Chronologically + + sample: + title: Sample Reading Lists + + # TODO: change this to use "label:" instead of the key content + links: + Strategy and Analysis: + - name: "The Case for Resistance: What We’re Up Against—and What It Could Look Like to Fight" + path: /2024/11/20/the-case-for-resistance-what-were-up-against-and-what-it-could-look-like-to-fight + + - name: "Gender Subversion Today: A Reprint and a Remix of Our Classic Poster" + path: /2023/06/12/gender-subversion-today-a-reprint-and-a-remix-of-our-classic-poster + + - name: "Balance Sheet: Two Years against Cop City" + path: /2023/02/28/balance-sheet-two-years-against-cop-city-evaluating-strategies-refining-tactics + + - name: "Canary in the Coal Mine: Twitter and the End of Social Media" + path: /2022/12/09/canary-in-the-coal-mine-twitter-and-the-end-of-social-media + + - name: "Anti-Work: From “I Quit” to “We Revolt”—Strategizing for 21st-Century Labor Resistance" + path: /2022/05/10/anti-work-from-i-quit-to-we-revolt-strategizing-for-21st-century-labor-resistance + + - name: "Anarchist Resistance to the Trump Inauguration: Understanding the Events of January 20, 2017" + path: /2019/01/22/analysis-anarchist-resistance-to-the-trump-inauguration-learning-from-the-events-of-january-20-2017 + + - name: "Take Your Pick: Law or Freedom—How “Nobody Is above the Law” Abets the Rise of Tyranny" + path: /2018/11/09/take-your-pick-law-or-freedom-how-nobody-is-above-the-law-abets-the-rise-of-tyranny + + - name: "La ZAD: Another End of the World Is Possible—Learning from 50 Years of Struggle at Notre-Dame-des-Landes" + path: /2018/04/09/la-zad-another-end-of-the-world-is-possible-learning-from-50-years-of-struggle-at-notre-dame-des-landes + + Theory and Critique: + - name: "Against the Logic of the Guillotine: Why the Paris Commune Burned the Guillotine—and We Should Too" + path: /2019/04/08/against-the-logic-of-the-guillotine-why-the-paris-commune-burned-the-guillotine-and-we-should-too + + - name: The Mythology of Work + path: /2018/09/03/the-mythology-of-work-eight-myths-that-keep-your-eyes-on-the-clock-and-your-nose-to-the-grindstone + + - name: "There’s No Such Thing as Revolutionary Government: Why You Can’t Use the State to Abolish Class" + path: /2018/05/29/theres-no-such-thing-as-revolutionary-government-why-you-cant-use-the-state-to-abolish-class + + - name: Why We Don’t Make Demands + path: /2015/05/05/feature-why-we-dont-make-demands + + - name: "We Fight because We Like It: Maintaining Our Morale against Seemingly Insurmountable Odds" + path: /2018/03/22/we-fight-because-we-like-it-maintaining-our-morale-against-seemingly-insurmountable-odds + + - name: From Democracy to Freedom + path: /2016/04/29/feature-from-democracy-to-freedom + + - name: "Deserting the Digital Utopia: Computers against Computing" + path: /2013/10/04/feature-deserting-the-digital-utopia + + - name: "For All We Care: Reconsidering Self-Care" + path: /2013/05/31/for-all-we-care-reconsidering-self-care + + - name: "Accounting for Ourselves: Breaking the Impasse Around Assault and Abuse" + path: /2013/04/17/accounting-for-ourselves-breaking-the-impasse-around-assault-and-abuse-in-anarchist-scenes + + Current Events: + - name: "The Siege of the Third Precinct in Minneapolis: An Account and Analysis" + path: /2020/06/10/the-siege-of-the-third-precinct-in-minneapolis-an-account-and-analysis + + - name: "The City in the Forest: Reinventing Resistance for an Age of Climate Crisis and Police Militarization" + path: /2022/04/11/the-city-in-the-forest-reinventing-resistance-for-an-age-of-ecological-collapse-and-police-militarization + + - name: "Germany: The Fight against the Tesla Gigafactory" + path: /2024/03/08/germany-the-fight-against-the-tesla-gigafactory-some-occupy-the-forest-some-shut-down-the-power-grid + + - name: "“It Is an Honor to Be Suspended for Palestine”: Dispatches from the Solidarity Encampment at Columbia University" + path: /2024/04/21/it-is-an-honor-to-be-suspended-for-palestine-dispatches-from-the-solidarity-encampment-at-columbia-university + + - name: "Jin, Jiyan, Azadi (Woman, Life, Freedom): The Genealogy of a Slogan" + path: /2023/03/08/jin-jiyan-azadi-woman-life-freedom-the-genealogy-of-a-slogan + + - name: "Afghanistan: The Taliban Victory in a Global Context—An Anti-Imperial Perspective from a Veteran of the US Occupation" + path: /2021/08/16/afghanistan-the-taliban-victory-in-a-global-context-a-perspective-from-a-veteran-of-the-us-occupation + + - name: "Three Months of Insurrection: An Anarchist Collective in Hong Kong Appraises the Achievements and Limits of the Revolt" + path: /2019/09/20/three-months-of-insurrection-an-anarchist-collective-in-hong-kong-appraises-the-achievements-and-limits-of-the-revolt + + - name: "The Threat to Rojava: An Anarchist in Syria Speaks on the Real Meaning of Trump’s Withdrawal" + path: /2018/12/28/the-threat-to-rojava-an-anarchist-in-syria-speaks-on-the-real-meaning-of-trumps-withdrawal + + - name: "Don’t Try to Break Us–We’ll Explode: The 2017 G20 and the Battle of Hamburg" + path: /2017/08/08/total-policing-total-defiance-the-2017-g20-and-the-battle-of-hamburg-a-full-account-and-analysis + + History: + - name: "Every Flag Is Black in a Fire: The Black Flag—Emblem of Rebellion, Negation, and Hope" + path: /2021/06/14/every-flag-is-black-in-a-fire-featuring-louise-michel-andre-breton-and-jean-genet + + - name: "The Kronstadt Uprising: A View from within the Revolt" + path: /2021/03/03/the-kronstadt-uprising-a-full-chronology-and-archive-including-a-view-from-within-the-revolt + + - name: "A Tale of Two General Strikes: Updating the General Strike for the 21st Century" + path: /2022/06/07/a-tale-of-two-general-strikes-updating-the-general-strike-for-the-21st-century + + - name: "The Anarchists versus the Plague: Malatesta and the Cholera Epidemic of 1884" + path: /2020/05/26/the-anarchists-versus-the-plague-malatesta-and-the-cholera-epidemic-of-1884 + + - name: "June 30, 1876: Peter Kropotkin Escapes from Prison" + path: /2021/12/09/june-30-1876-peter-kropotkin-escapes-from-prison-a-tale-of-derring-do-on-the-occasion-of-his-birthday + + - name: "The May Days: Stories of Courage and Resistance—Snapshots from the History of May Day" + path: /2017/05/01/mayday2017 + + - name: "“Addicted to Tear Gas”: The Gezi Resistance, June 2013—Looking Back on a High Point of Resistance in Turkey" + path: /2022/06/20/addicted-to-tear-gas-the-gezi-resistance-june-2013-looking-back-on-a-high-point-of-resistance-in-turkey + + - name: "The Battle for Ungdomshuset: The Defense of a Squatted Social Center and the Strategy of Autonomy" + path: /2019/03/01/the-battle-for-ungdomshuset-the-defense-of-a-squatted-social-center-and-the-strategy-of-autonomy + + - name: "Escaping Washington for Freedom: Let’s not Celebrate George Washington, but the Slaves Who Escaped Him" + path: /2018/02/19/escaping-washington-for-freedom-lets-not-celebrate-george-washington-but-the-slaves-who-escaped-him + + How To: + - name: "Tools and Tactics in the Portland Protests: From Leaf Blowers and Umbrellas to Lasers, Balloons, and Power Tools" + path: /2020/08/03/tools-and-tactics-in-the-portland-protests-from-leaf-blowers-and-umbrellas-to-lasers-bubbles-and-balloons + + - name: A Collection of Action Resources + path: /2020/10/27/everybody-out-resources-for-a-season-of-post-election-unrest + anchor: resources + + - name: "A Step-by-Step Guide to Direct Action: What It Is, What It’s Good for, How It Works" + path: /2017/03/14/direct-action-guide + + - name: What Is Security Culture? + path: /2004/11/01/what-is-security-culture + + - name: "Producing Transdermal Estrogen: A Do-It-Yourself Guide" + path: /2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide + + - name: A Demonstrator’s Guide to Riot Munitions And How to Defend against Them + path: /2021/01/04/a-demonstrators-guide-to-understanding-riot-munitions-and-how-to-defend-against-them + + - name: "A Demonstrator’s Guide to Responding to Gunshot Wounds: What Everyone Should Know" + path: /2020/09/24/a-demonstrators-guide-to-responding-to-gunshot-wounds-what-everyone-should-know + + - name: How to Survive a Felony Trial + path: /2017/02/08/how-to-survive-a-felony-trial-a-guide-to-keeping-your-head-up-through-the-worst + + - name: "The Sunbird: How to Start an Announcements-Only Thread on Signal" + path: /2024/05/27/the-sunbird-how-to-start-an-announcements-only-thread-on-signal-and-how-organizers-in-austin-used-one-to-coordinate-solidarity-with-palestine + + Arts and Media: + - name: Punk—Dangerous Utopia + path: /2022/12/13/punk-dangerous-utopia-revisiting-the-relationship-between-punk-and-anarchism + + - name: "Fell in Love with Fire: A Documentary about the 2019 Uprising in Chile" + path: /2024/10/21/fell-in-love-with-fire-an-documentary-about-the-2019-uprising-in-chile + + - name: "We Are Now: The Story of an Armed No-Cop Zone in Atlanta" + path: /2021/05/19/we-are-now-the-story-of-an-armed-no-cop-zone-in-atlanta-a-documentary-film + + - name: A Poem by Kenneth Rexroth, Painted across the Rooftops of the World + path: /2020/12/22/a-poem-by-kenneth-rexroth-painted-across-the-rooftops-of-the-world-on-the-occasion-of-his-birthday + + - name: "Police: An Ethnography—A Photoessay about Armed Obedience" + path: /2019/03/15/the-police-an-ethnography-a-photoessay-about-armed-obedience + + - name: "J20 Protest Simulator: Choose Your Own Adventure in the Streets and Courts of Washington, DC" + path: /2019/01/18/j20-protest-simulator-choose-your-own-adventure-in-the-streets-and-courts-of-washington-dc + + - name: "The Secret World of Duvbo: A Magical Story about a Perfectly Ordinary World" + path: /2018/10/25/the-secret-world-of-duvbo-a-magical-story-about-a-perfectly-ordinary-world + + - name: 'Insurrection is Not a Game: Designing the Game "Bloc by Bloc"' + path: /2018/06/04/insurrection-is-not-a-game-play-resistance-and-designing-the-game-bloc-by-bloc + + - name: "Put the Bots in Charge: Towards the Abolition of Human Authorship" + path: /2018/04/01/we-put-the-bots-in-charge-towards-the-abolition-of-human-authorship + + - name: "The Spiral of Police Violence: A Work of Art Criticism" + path: /2017/09/15/the-spiral-of-police-violence-a-work-of-art-criticism + + Narratives: + - name: "It’s Safer in the Front: Taking the Offensive against Tyranny" + path: /2025/01/28/its-safer-in-the-front-taking-the-offensive-against-tyranny + + - name: "Memories from Saint-Imier, 1872 to 2023: Accounts from a Worldwide Anarchist Gathering" + path: /2023/08/22/memories-from-saint-imier-1872-to-2023-accounts-from-a-worldwide-anarchist-gathering + + - name: "The Craziest Walk Ever: The View from in Front of the Burning Pentagon on September 11, 2001" + path: /2021/09/10/the-craziest-walk-ever-the-view-from-in-front-of-the-burning-pentagon-on-september-11-2001 + + - name: "Québec City, April 2001: The Revolutionary Anti-Capitalist Offensive—Anarchists Confront the Summit of the Americas" + path: /2021/04/19/the-revolutionary-anti-capitalist-offensive-anarchists-confront-the-summit-of-the-americas-april-2001 + + - name: "I Was a J20 Street Medic and Defendant: How We Survived the First J20 Trial and What We Learned along the Way" + path: /2019/01/20/i-was-a-j20-street-medic-and-defendant-how-we-survived-the-first-j20-trial-block-and-what-we-learned-along-the-way + + - name: "Looting Back: An Account of the Ferguson Uprising" + path: /2019/08/09/looting-back-an-account-of-the-ferguson-uprising + + - name: "The Power is Running: A Memoir of N30—Shutting Down the WTO Summit in Seattle, 1999" + path: /2017/11/30/the-power-is-running-a-memoir-of-n30-shutting-down-the-wto-summit-in-seattle-1999 + + - name: "UNControllables: The Story of an Anarchist Student Group—and How to Organize Your Own" + path: /2017/08/16/uncontrollables-the-story-of-an-anarchist-student-group-and-how-to-organize-your-own + + In Memoriam: + - name: Memories of Aaron Bushnell + path: /2024/02/29/memories-of-aaron-bushnell-as-recounted-by-his-friends + + - name: In Memory of Klee Benally + path: /2024/01/03/in-memory-of-klee-benally-an-interview-with-blackfire + + - name: "Let’s Be Done with Waiting: A Film in Memory of Alfredo Maria Bonanno" + path: /2023/12/19/lets-be-done-with-waiting-a-film-in-memory-of-alfredo-maria-bonanno + + - name: "In Memory of Dmitry Petrov: An Incomplete Biography and Translation of His Work" + path: /2023/05/03/in-memory-of-dmitry-petrov-an-incomplete-biography-and-translation-of-his-work + + - name: We Remember Jen Angel + path: /2023/02/10/we-remember-jen-angel-a-eulogy + + - name: "Luisa Toledo Sepúlveda: The Mother of Combative Youth" + path: /2021/07/09/remembering-luisa-toledo-sepulveda-the-mother-of-combative-youth-a-eulogy-and-report-from-chile + + - name: "The Shock Of Victory: An Essay by David Graeber and a Short Eulogy for Him" + path: /2020/09/03/the-shock-of-victory-an-essay-by-david-graeber-and-a-eulogy-for-him + + - name: "Aragorn!—Elegy for an Antagonist: On Hostility and Its Limits" + path: /2020/02/19/aragorn-elegy-for-an-antagonist-on-hostility-and-its-limits + + - name: "We Will Remember Freedom: Why It Matters that Ursula K. Le Guin Was an Anarchist" + path: /2018/01/25/we-will-remember-freedom-why-it-matters-that-ursula-k-le-guin-was-an-anarchist + + Classics: + - name: The Secret Is to Begin + path: /2016/09/28/feature-the-secret-is-to-begin-getting-started-further-resources-frequently-asked-questions + + - name: To Change Everything + path: /tce + + - name: "Fighting for Our Lives: An Anarchist Primer" + path: /2017/11/28/fighting-for-our-lives-an-anarchist-primer + + - name: The Contents of Your Daily Life + path: /2000/09/11/the-contents-of-your-daily-life + + - name: Do You Have Ideas, or Do Ideas Have You? + path: /2000/06/02/do-you-have-ideas-or-do-ideas-have-you + + - name: One Dimensional Man in the Three Dimensional World + path: /2000/09/11/one-dimensional-man-in-the-three-dimensional-world + + - name: Product Is the Excrement of Action + path: /2000/09/11/product-is-the-excrement-of-action + + - name: There Is a Difference between Life and Survival + path: /2000/09/11/there-is-a-difference-between-life-and-survival + + - name: Ultimatum + path: /2000/09/11/ultimatum + + - name: Forward! + path: /2000/09/11/forward + + - name: "Join the Resistance: Fall in Love" + path: /2000/09/11/join-the-resistance-fall-in-love + + - name: There is a Secret World Concealed Within this One + path: /2000/09/11/there-is-a-secret-world-concealed-within-this-one diff --git a/config/locales/es/mailers.yml b/config/locales/es/mailers.yml new file mode 100644 index 000000000..0ef146d61 --- /dev/null +++ b/config/locales/es/mailers.yml @@ -0,0 +1,8 @@ +es: + support_mailer: + edit_subscription: + header: "¡Tu link súper secreto ha llegado!" + link_description: Cualquier persona con acceso a este link puede realizar cambios a tu suscripción. Expirará en una hora. Mantenlo secreto, mantente seguro. + more_help: También puedes responder a este correo si necesitas más ayuda. + repeat_request: Si no alcanzas a hacer los cambios necesarios a tiempo, descuida. Podemos enviarte otro link súper secreto. + subject: Solicita el link súper secreto. diff --git a/config/locales/es/models.yml b/config/locales/es/models.yml new file mode 100644 index 000000000..df9a12dcd --- /dev/null +++ b/config/locales/es/models.yml @@ -0,0 +1,163 @@ +es: + activerecord: + models: + article: + one: Artículo + other: Artículos + book: + one: Libro + other: Libros + category: + one: Categoría + other: Categorías + episode: + one: Episodio + other: Episodios + journal: + one: Periódico + other: Periódicos + poster: + one: Poster + other: Posters + sticker: + one: Sticker + other: Stickers + video: + one: Video + other: Videos + zine: + one: Zine + other: Zines + user: + one: Usuario + other: Usuarios + page: + one: Página + other: Páginas + podcast: + one: Podcast + other: Podcasts + definition: + one: Definición + other: Definiciones + tag: + one: Tag + other: Tags + logo: + one: Logo + other: Logos + issue: + one: Problema + other: Problemas + redirect: + one: Redirección + other: Redirecciones + locale: + one: Idioma + other: Idiomas + + attributes: + article: + title: Título + subtitle: Subtítulo + content: Contenido + summary: Resumen + published_at: Publicado en + slug: Slug + short_path: Ruta Corta + image_description: Descripción de Imagen + locale: Idioma + publication_status: Estado de Publicación + featured_status: Estado Destacado + tags: Tags + categories: Categorías + tweet: Tweet + notes: Notas + css: CSS + year: Año + month: Mes + day: Día + draft_code: Código de Borrador + canonical_id: Artículo Canónico + collection_id: Colección + featured_at: Destacado En + published_at_tz: Zona Horaria de Publicación + book: + title: Título + subtitle: Subtítulo + content: Contenido + summary: Resumen + published_at: Publicado en + slug: Slug + short_path: Ruta Corta + image_description: Descripción de Imagen + locale: Idioma + publication_status: Estado de Publicación + featured_status: Estado Destacado + price_in_cents: Precio (centavos) + buy_url: URL de Compra + buy_info: Información de Compra + content_format: Formato de Contenido + category: + name: Nombre + slug: Slug + episode: + title: Título + subtitle: Subtítulo + content: Contenido + summary: Resumen + audio_url: URL de Audio + audio_length: Duración de Audio + audio_type: Tipo de Audio + duration: Duración + podcast_id: Podcast + episode_number: Número de Episodio + user: + username: Nombre de Usuario + password: Contraseña + email: Email + role: Rol + tag: + name: Nombre + slug: Slug + + errors: + messages: + blank: no puede estar en blanco + taken: ya ha sido tomado + too_short: es demasiado corto (mínimo es %{count} caracteres) + too_long: es demasiado largo (máximo es %{count} caracteres) + invalid: es inválido + confirmation: no coincide con la confirmación + models: + article: + attributes: + title: + blank: El título no puede estar en blanco + slug: + taken: El slug ya ha sido tomado para esta fecha + short_path: + taken: La ruta corta ya ha sido tomada + uniqueness: ya está tomada por la ruta corta del artículo + published_at: + blank: La fecha de publicación no puede estar en blanco para artículos publicados + book: + attributes: + title: + blank: El título no puede estar en blanco + category: + attributes: + name: + blank: El nombre no puede estar en blanco + taken: El nombre ya ha sido tomado + user: + attributes: + username: + blank: El nombre de usuario no puede estar en blanco + taken: El nombre de usuario ya ha sido tomado + password: + blank: La contraseña no puede estar en blanco + too_short: La contraseña es demasiado corta (mínimo es %{count} caracteres) + email: + blank: El email no puede estar en blanco + invalid: El formato del email es inválido diff --git a/config/locales/es/pages.yml b/config/locales/es/pages.yml new file mode 100644 index 000000000..0b3bd3747 --- /dev/null +++ b/config/locales/es/pages.yml @@ -0,0 +1,13 @@ +es: + views: + pages: + feeds: + title: Feeds RSS + + intro: | + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/config/locales/es/pagination.yml b/config/locales/es/pagination.yml new file mode 100644 index 000000000..a3a9423c0 --- /dev/null +++ b/config/locales/es/pagination.yml @@ -0,0 +1,32 @@ +es: + views: + pagination: + first: « + last: » + previous: ‹ + previous_screen_reader: Anterior + next: › + next_screen_reader: Siguiente + truncate: … + next_page: Siguiente › + previous_page: ‹ Anterior + next_article: Artículo siguiente › + previous_article: ‹ Artículo anterior + next_month: Mes siguiente › + previous_month: ‹ Mes anterior + next_year: Año siguiente › + previous_year: ‹ Año anterior + + helpers: + page_entries_info: + entry: + zero: entradas + one: entrada + other: entradas + one_page: + display_entries: + zero: No %{entry_name} found + one: Displaying 1 %{entry_name} + other: Displaying all %{count} %{entry_name} + more_pages: + display_entries: Displaying %{entry_name} %{first} - %{last} of %{total} in total diff --git a/config/locales/es/podcasts.yml b/config/locales/es/podcasts.yml new file mode 100644 index 000000000..40befa9e6 --- /dev/null +++ b/config/locales/es/podcasts.yml @@ -0,0 +1,17 @@ +es: + views: + podcasts: + show: + download: Descarga + full_episode_transcript: Transcripciones del episodio completo + latest_episode: Episodios recientes + listen: Escucha el episodio + notes_and_links: Notas y links + other_episodes: Todos episodios + show_notes: Notas del show + subscribe_in_itunes: Suscribirse en iTunes + subscribe_in_overcast: Suscribirse en Overcast + subscribe_in_pocket_casts: Suscribirse en Pocket Casts + subscribe_to_rss: Suscribirse a RSS + summary: Resumen + transcript: Transcripcción diff --git a/config/locales/es/search.yml b/config/locales/es/search.yml new file mode 100644 index 000000000..f61f2f2c8 --- /dev/null +++ b/config/locales/es/search.yml @@ -0,0 +1,19 @@ +es: + views: + search: + index: + title: Busca en los archivos… + advanced: + title: Búsqueda avanzada + heading: Búsqueda avanzada + form: + button: Buscar + category_label: Categorias + comma_separated_note: "Separados con comas. Por ejemplo: perros, gatos, etc." + content_label: Contenido + subtitle_label: Subtitulo + tag_label: Tags + term_label: Buscar + title_label: Titulo + form_placeholder: Busca en los archivos… + search_results: "Resultados de la búsqueda: %{query}" diff --git a/config/locales/es/support.yml b/config/locales/es/support.yml new file mode 100644 index 000000000..4e3aa8a57 --- /dev/null +++ b/config/locales/es/support.yml @@ -0,0 +1,95 @@ +es: + views: + support: + new: + heading: "¡Invierte en CrimethInc.!" + description: | + _Ajusta tu donación._ + _¡Ninguna cantidad es lo suficientemente grande como para ser indispensable_ + _ni demasiado pequeña para no ser de ayuda!_ + _Si puedes, anótate para donar de forma mensual, para que podamos contar contigo para sostener a largo plazo._ + + CrimethInc. es un proyecto donde todos somos voluntarios sin ninguna fuente externa de fondos. + Ofrecemos todo lo que hacemos de forma gratuita o a precios de + recuperación manteniendo los más altos estándares en nuestro campo. + Publicamos constantemente, circulando materiales en [más de 30 idiomas](/tce) + en [los siete continentes](/2008/01/06/now-serving-seven-continents). + Nos hemos mantenido ya por un cuarto de siglo. + + Nos esforzamos por hacer todo con el menor presupuesto posible pero, a pesar de nuestros esfuerzos, algunos gastos son inevitables. + Necesitamos tu ayuda para cubrir esos gastos. + Con más recursos, podríamos expandirnos más formatos y liberar más tiempo para publicar con más frecuencia. + + Como siempre, la manera más efectiva de apoyar lo que hacemos es _hacerlo tú mismo._ + radio_label_monthly: Mensual + radio_label_one_time: Una vez + amount_label: Cantidad para apoyar + description_monthly: Suscripción mensual + description_one_time: Apoyar una vez + button_text: Siguiente → + support_request: + header: Si ya eres suscriptor mensual + description: | + ¿Necesitas actualizar o cancelar tu subscripción? + Ingresa el email que usaste para suscribirte, + y te enviaremos un link súper secreto donde puedes hacer los cambios. + email_label: Email + email_placeholder: you@example.com + button_text: Enviar link súper secreto + create: + repeat_subscriber_error: | + Ya tenemos un suscriptor mensual con ese email. + Si todavía queires dar más, intenta la donación de una vez. + ¡Gracias! + create_session: + no_existing_customer_error: | + No pudimos encontrar a ningún subscriptor mensual con ese email. + Si piensas que esto es un error, + por favor [envíanos un email](mailto:contact@crimethinc.com) para que podamos ayudarte. + success_notice: Enviamos un email a _%{email}_ con un link donde puedes modificar tu suscripción. + repeat_customer_error: | + ¡Ya enviaste tu solicitud! + Espera un email de _contact@crimethinc.com_. + Si nunca recibiste el email o perdiste tu link súper secreto, espera una hora e inténtalo de nuevo. + edit: + heading: Tu suscripción + description: Muchas gracias por tu apoyo. Nos apoyamos en contribuciones como la tuya para hacer lo que hacemos. + expired_link_error: Este link ha expirado. Por favor intenta de nuevo. + expires_at: Esta página expirará en unos %{minutes} minutos. + update: + amount_label: Apoyo mensual + amount_slider_label: Desliza para ajustar tu apoyo mensual. + button_text: Actualizar suscripción + button_confirm: "¿Estás seguro que quieres actualizar la cantidad de tu suscripción?" + start_date: Subscrito desde + next_date: Siguiente cargo + cancel: + header: Si quieres cancelar tu suscripción ¡oprime el gran botón rojo! + button_text: Cancelar Subscripción + button_confirm: "¿Estás seguro que quieres cancelar tu suscripción completamente?" + update_subscription: + notice: Se ha actualizado la cantidad de tu subscripción. + error: | + Hubo un problema al actualizar tu soscripción. + Por favor inténtalo de nuevo. + Si el problema continúa, + por favor [envíanos un email](mailto:contact@crimethinc.com) para poder ayudarte. + cancel_subscription: + notice: Tu suscripción se ha cancelado. + error: | + Hubo un problema al cancelar tu soscripción. + Por favor inténtalo de nuevo. + Si el problema continúa, + por favor [envíanos un email](mailto:contact@crimethinc.com) para poder ayudarte + thanks: + heading: ¡Gracias por tu apoyo! + description: | + Thank you so much for supporting CrimethInc.! + Because we are a decentralized collective, + it is not possible for us to offer the same sorts of perks that organizations + with more formal structures use as fundraising incentives. + What we can do is promise that every contribution helps us to keep this material free, + to distribute it as widely as possible, to continue creating new resources, + and to work together towards the realization of a freer world. + + _Keep checking back! Our site is updated daily, there's always something new._ diff --git a/config/locales/es/tools.yml b/config/locales/es/tools.yml new file mode 100644 index 000000000..bdd482a79 --- /dev/null +++ b/config/locales/es/tools.yml @@ -0,0 +1,110 @@ +es: + downloads: + heading: Descargas + formats: + screen_single_page_view: Pantalla de PDF en una página + screen_two_page_view: Pantalla de PDF en dos páginas + print_color: Imprimir PDF a color + print_black_and_white: Imprimir PDF en blanco y negro + print_color_a4: Imprimir PDF a color en formato A4 + print_black_and_white_a4: Imprimir PDF en blanco y negro en formato A4 + lite: PDF baja resolución + epub: ePub + mobi: Mobi + buy_now_button_text: Compra + # these text values are wrapped in quotes because each has a colon in its text value + download_front_button_text: "Descarga PDF : Fuente" + download_back_button_text: "Descarga PDF : Atrás" + download_front_color_button_text: "Descargar PDF : Color de fuente" + download_back_color_button_text: "Descargar PDF : Color de atrás" + download_front_black_and_white_button_text: "Descargar PDF : Fuente B/N" + download_back_black_and_white_button_text: "Descargar PDF : Atrás B/N" + pdf_donate_button_text: Dona + pdf_donate_button_label: Dona aquí para ayudarnos a mantener estos PDF's disponibles libremente y para seguir produciendo más. + + views: + tools: + tools_heading_text: Herramientas + tools_intro_text: | + Con más de dos décadas de experiencia, + ofrecemos una amplia gama de materiales para que descargues o pidas en grandes cantidades. + Usa estos materiales para educar, agitar, y transformar el espacio a tu alrededor. + buttons: + browse_journals_text: Revisa todos los periódicos + browse_logos_text: Revisa todos los logos + browse_music_text: Revisa toda la música + browse_posters_text: Revisa todos los posters + browse_stickers_text: Revisa todas las stickers + browse_videos_text: Revisa todos los videos + browse_zines_text: Revisa todas las zines + + books: + books_heading_text: Amamos hacer libros. + books_intro_text: | + Desde una escritura apasionada y una meticulosa edición, a un intrincado y único diseño, + a una cuidadosa y profesional producción, estos libros son el resultado de mucho amor y cuidado. + Tenemos más de una década en esto, y aquí encontrarás la prueba en todos + los pequeños detalles y a orquestación de momentos que sólo se pueden lograr con tinta y papel. + + Todos nuestros libros son impresos con tinta de soya en papel 100% reciclado + por hábiles artesanos en Louisville, Quebec, Canadá usando las más finas offset's. + book_download_read_button_text: Descarga PDF con visión de dos páginas + book_download_print_button_text: Descarga PDF para imprimir + book_download_lite_button_text: Descarga PDF en formato de una página + book_download_epub_button_text: Descarga ePub eBook + book_download_mobi_button_text: Descarga Mobi eBook + + journals: + journals_heading_text: Periódicos + journals_intro_text: | + Aquí puedes descargar los PDF's de _Rolling Thunder_, + nuestro aclamado periódico de análisis y acción directa, + _Harbinger_, nuestro clásico tabloide de "propaganda del deseo", + y otras ambiciosas publicaciones seriales de las últimas dos décadas. + + logos: + logos_heading_text: Logos + logos_intro_text: ¡CrimethInc. tú mismo! Logos para tus propios proyectos CrimethInc. + + music: + music_intro_text: | + Descarga una amplia gama de álbumes que hemos + [publicado](/2018/10/22/crimethinc-music-releases-now-on-bandcamp) desde 1996, + [punk](/2018/10/22/music-as-a-weapon-the-contentious-symbiosis-of-punk-rock-and-anarchism) y otros. + + posters: + posters_heading_text: Posters + posters_intro_text: | + ¡Dale vida a los muros de tu casa, escuela, pueblo o centro comunitario! + Recomendamos usar engrudo [wheatpaste](/posters) para pegarlos en lugares públicos. + + stickers: + stickers_heading_text: Stickers + stickers_intro_text: | + ¡Ayuda a los objetos inanimados a tu alrededor a comunicarse de forma más elocuente! + Ordénalos en un paquete o imprímelos en papel adhesivo. + + videos: + videos_intro_text: | + Emergency Broadcast System — Una selección de videos de CrimethInc. + Perpetual Motion Pictures + + zines: + zines_heading_text: Zines + zines_intro_text: | + La mayoría de nuestros textos están disponibles en formato de panfleto. + Imprímelos o fotocópialos para distribuirlos en escuelas, protestas, conciertos, + eventos sociales, mercados y cualquier otro lugar donde la gente esté hambrienta de ideas. + También puedes obtener PDF's de _Para Cambiar Todo_, nuestra introducción al anarquismo, + en una docena de idiomas. [Sitio del _Para Cambiar Todo_](/tce). + zine_download_read_button_text: Descarga PDF para leer + zine_download_print_button_text: Descarga PDF para imprimir + zine_download_lite_button_text: Descarga el PDF en baja resolución + zine_download_epub_button_text: Descarga ePub eBook + zine_download_mobi_button_text: Descarga Mobi eBook + + books_into_libraries: + crimethinc_into_libraries_heading: CrimethInc. en las bibliotecas + crimethinc_into_libraries_intro: Para todos aquellos que no tengan los recursos para comprar libros o que simplemente no les emocione la idea de adquirir más posesiones, tenemos buenas noticias para ustedes- el programa [CrimethInc. a las bibliotecas](/books/into-libraries). Nuestros libros están [en más bibliotecas de lo que te imaginas](/2007/10/09/crimethinc-into-libraries-progress-report), y si no, puedes conseguir que estén en sus estantes de forma gratuita. [¡Descubre cómo!](/books/into-libraries) + literature_distro_kit_heading: Kit de distribución de literatura + literature_distro_kit_intro: Nuestros libros son la piedra angular de nuestro [Kit de distribución de literatura](/books/lit-kit), un kit todo-en-uno de distribución de literatura para que lo utilices como creas conveniente. Incluye una mezcla de libros para vender y cosas para regalar, todo lo que necesitas para montar una mesa en un un show, llevar de tour, o informar desde tu mochila o en el descanso. diff --git a/spec/controllers/admin/admin_controller_spec.rb b/spec/controllers/admin/admin_controller_spec.rb index 8a71ac465..e95dc2e3a 100644 --- a/spec/controllers/admin/admin_controller_spec.rb +++ b/spec/controllers/admin/admin_controller_spec.rb @@ -1,9 +1,9 @@ require 'rails_helper' RSpec.describe Admin::AdminController, type: :controller do - describe '#admin_title' do - let(:article) { create(:article, title: 'title', subtitle: 'sub', id: 1) } + let(:article) { create(:article, title: 'title', subtitle: 'sub', id: 1) } + describe '#admin_title' do it 'creates title using keys passed in' do # these expectations are used to stub out contoller cals and return expected values expect(controller).to receive(:controller_path).and_return('admin/articles').at_least(:once) @@ -19,6 +19,15 @@ expect(title).to eq('') end + it 'returns the controller action translation if no model passed in' do + expect(controller).to receive(:controller_path).and_return('admin/articles').at_least(:once) + allow(controller).to receive(:action_name).and_return('index') + title = controller.admin_title + expect(title).to eq('CrimethInc. : Admin : Articles') + end + end + + describe 'when editing' do it 'does not blow up if keys not in translation are passed in' do # these expectations are used to stub out contoller cals and return expected values expect(controller).to receive(:controller_path).and_return('admin/articles').at_least(:once) @@ -28,13 +37,4 @@ expect(title).to eq('CrimethInc. : Admin : Editing article 1 title : sub') end end - - describe 'when editing' do - it 'returns the controller action translation if no model passed in' do - expect(controller).to receive(:controller_path).and_return('admin/articles').at_least(:once) - expect(controller).to receive(:action_name).and_return('index').at_least(:once) - title = controller.admin_title - expect(title).to eq('CrimethInc. : Admin : Articles') - end - end end