<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/views/page_translations/show.html.erb, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://erdgeist.org/gitweb/cccms/atom?h=master</id>
<link rel='self' href='http://erdgeist.org/gitweb/cccms/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/'/>
<updated>2026-08-12T23:11:29Z</updated>
<entry>
<title>Give every admin page one horizontal gutter</title>
<updated>2026-08-12T23:11:29Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-12T23:11:29Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=862edbf4d5fdb9a88f84bfa1d51ab8cc83896094'/>
<id>urn:sha1:862edbf4d5fdb9a88f84bfa1d51ab8cc83896094</id>
<content type='text'>
by many views inside. The inner ones are gone

nodes#edit's becomes #body_field, which is what #edit_grid places in its
full-width row.

Rows now reach into the label band themselves rather than depending on a
page wrapper to do it. The label column plus its gap equals the escape, so
a row's content starts at the gutter on every page; #edit_grid's rows are
exempt because the grid already steps back.

share one left edge. #new_node's -118px was compensating for that 10px and
left the page 7px out once it went. standalone_action_bar was overridden
everywhere it appeared.

page_translations#edit no longer uses #edit_grid: it has no metadata column,
so the two-column template pushed its abstract into the empty half.

nodes#edit's lower action bar was inside #edit_grid, so it was a grid item
inheriting the escape and sat 125px left of the form above it.
</content>
</entry>
<entry>
<title>Keep the compared translation independent of the interface language</title>
<updated>2026-08-02T12:31:50Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-02T12:31:50Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=dab53a1ef28ecc281d574b50d3433e806db375cd'/>
<id>urn:sha1:dab53a1ef28ecc281d574b50d3433e806db375cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Extract admin strings to i18n: revisions, page_translations, and menu items,</title>
<updated>2026-07-25T15:45:34Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-25T15:45:34Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=fe104aa2c52f61cd8555fbc98c20501f50f4aae8'/>
<id>urn:sha1:fe104aa2c52f61cd8555fbc98c20501f50f4aae8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename layout classes to what they actually do</title>
<updated>2026-07-24T16:04:56Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-24T16:04:56Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=50ca5e40f461290a2db7452b95f80dd3188dba1d'/>
<id>urn:sha1:50ca5e40f461290a2db7452b95f80dd3188dba1d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make revisions locale aware</title>
<updated>2026-07-14T00:17:04Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T00:17:04Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=88ebeaac7fcf140cbab489e841bf9c197f84c4ea'/>
<id>urn:sha1:88ebeaac7fcf140cbab489e841bf9c197f84c4ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add per-node translation management: list, edit, destroy, compare</title>
<updated>2026-07-13T14:36:38Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-13T14:36:38Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=0b6ae26f3b4c3c8278e569fa6644a544e996c25d'/>
<id>urn:sha1:0b6ae26f3b4c3c8278e569fa6644a544e996c25d</id>
<content type='text'>
Replaces the old locale-switch-and-edit-the-same-screen workflow,
which conflated presentation locale with content locale and let an
editor silently drift into editing the wrong language with no
persistent signal that anything had changed. Non-default-locale
content now has its own explicit routes and screens, never sharing
a route param with the ambient chrome locale.

- PageTranslationsController: index/show/edit/update/destroy,
  scoped to Page.non_default_locales; update handles first-time
  creation too, so there's no separate new/create step.
- Reads go through the actual PageTranslation row
  (Page#translation_summary), never through the Globalize
  fallback-bearing accessor -- fallback is correct for public
  rendering but wrong for editing, where a missing translation
  needs to look empty, not borrowed from another locale.
- Translations ride on the page's own draft/head cycle; no
  independent publish state.
- nodes#show gains a Translations section (per-locale Lock+Edit /
  Create+Lock, Destroy, a link into the read-only Compare view) and
  a locale indicator on its own default-locale content; nodes#edit,
  nodes#update, and nodes#autosave are pinned to the default locale
  via Globalize.with_locale regardless of the ambient route locale.
- nodes#show no longer double-loads the node or calls wipe_draft!
  on every view (see previous commit for why that's now safe).
- .preview_link_row is renamed .aligned_action_row now that it has
  a second real consumer.
</content>
</entry>
</feed>
