Changeset 3181736
- Timestamp:
- 11/04/2024 06:43:30 PM (16 months ago)
- Location:
- gp-convert-pt-ao90
- Files:
-
- 18 edited
- 1 copied
-
tags/1.4.10 (copied) (copied from gp-convert-pt-ao90/trunk)
-
tags/1.4.10/assets/css/style.css (modified) (1 diff)
-
tags/1.4.10/assets/css/style.min.css.map (modified) (1 diff)
-
tags/1.4.10/gp-convert-pt-ao90.php (modified) (1 diff)
-
tags/1.4.10/gp-templates/translation-row-preview.php (modified) (5 diffs)
-
tags/1.4.10/includes/class-portuguese-ao90.php (modified) (3 diffs)
-
tags/1.4.10/vendor/autoload.php (modified) (1 diff)
-
tags/1.4.10/vendor/composer/autoload_real.php (modified) (2 diffs)
-
tags/1.4.10/vendor/composer/autoload_static.php (modified) (2 diffs)
-
tags/1.4.10/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/assets/css/style.css (modified) (1 diff)
-
trunk/assets/css/style.min.css.map (modified) (1 diff)
-
trunk/gp-convert-pt-ao90.php (modified) (1 diff)
-
trunk/gp-templates/translation-row-preview.php (modified) (5 diffs)
-
trunk/includes/class-portuguese-ao90.php (modified) (3 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gp-convert-pt-ao90/tags/1.4.10/assets/css/style.css
r3171568 r3181736 2 2 * Temporary override while GlotPress with Variants doesn't have this CSS. 3 3 */ 4 table.translations tr td.original, 5 table.translations tr td.translation { 6 width: 45%; 7 vertical-align: middle; 4 table.translations tr td.original, table.translations tr td.translation { 5 width: 45%; 6 vertical-align: middle; 8 7 } 9 8 10 table.translations tr td.original small, 11 table.translations tr td.translation small { 12 font-size: 0.75rem; 9 table.translations tr td.original small, table.translations tr td.translation small { 10 font-size: 0.75rem; 13 11 } 14 12 15 table.translations tr td.original ul, 16 table.translations tr td.translation ul { 17 margin: 0; 18 padding: 0; 19 list-style: none; 13 table.translations tr td.original ul, table.translations tr td.translation ul { 14 margin: 0; 15 padding: 0; 16 list-style: none; 20 17 } 21 18 22 table.translations tr td.original ul li:not(:last-child), 23 table.translations tr td.translation ul li:not(:last-child) { 24 padding-bottom: 0.25em; 25 border-bottom: 1px solid #e4e4e4; 19 table.translations tr td.original ul li:not(:last-child), table.translations tr td.translation ul li:not(:last-child) { 20 padding-bottom: 0.25em; 21 border-bottom: 1px solid #e4e4e4; 26 22 } 27 23 28 24 table.translations tr td.translation .translation-text ins { 29 background-color: #68de7c;30 -webkit-text-decoration: none;31 text-decoration: none;32 display: inline-block;25 background-color: #68de7c; 26 -webkit-text-decoration: none; 27 text-decoration: none; 28 display: inline-block; 33 29 } 34 30 35 31 table.translation-sets tr th.gp-column-locale { 36 min-width: 400px;37 width: 45%;32 min-width: 400px; 33 width: 45%; 38 34 } 39 35 40 36 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon { 41 margin-left: 0.5em;42 vertical-align: middle;43 font-size: 1em;44 display: inline-block;45 line-height: normal;46 color: var(--gp-color-fg-muted);37 margin-left: 0.5em; 38 vertical-align: middle; 39 font-size: 1em; 40 display: inline-block; 41 line-height: normal; 42 color: var(--gp-color-fg-muted); 47 43 } 48 44 49 45 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status { 50 display: none;46 display: none; 51 47 } 52 48 53 49 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button { 54 margin-left: 0.5em;55 vertical-align: bottom;50 margin-left: 0.5em; 51 vertical-align: bottom; 56 52 } 57 53 58 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon, 59 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon, 60 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon { 61 color: var(--gp-color-btn-hover-text); 62 -webkit-transform: rotateZ(180deg); 63 -ms-transform: rotate(180deg); 64 transform: rotateZ(180deg); 54 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon, table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon, table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon { 55 color: var(--gp-color-btn-hover-text); 56 -webkit-transform: rotateZ(180deg); 57 -ms-transform: rotate(180deg); 58 transform: rotateZ(180deg); 65 59 } 66 60 67 61 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:disabled { 68 color: var(--gp-color-fg-default) !important;62 color: var(--gp-color-fg-default) !important; 69 63 } 70 64 71 65 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.icon { 72 -webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;73 transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;66 -webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s; 67 transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s; 74 68 } 75 69 76 70 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.label { 77 margin-left: 0.5em;78 margin-right: 0.5em;79 vertical-align: middle;80 text-align: left;81 display: inline-block;82 line-height: normal;71 margin-left: 0.5em; 72 margin-right: 0.5em; 73 vertical-align: middle; 74 text-align: left; 75 display: inline-block; 76 line-height: normal; 83 77 } 84 78 85 79 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.updating span.icon { 86 color: var(--gp-color-dark-orange);87 -webkit-animation: rotation 2s infinite linear;88 animation: rotation 2s infinite linear;80 color: var(--gp-color-dark-orange); 81 -webkit-animation: rotation 2s infinite linear; 82 animation: rotation 2s infinite linear; 89 83 } 90 84 91 85 @-webkit-keyframes rotation { 92 86 93 0% {94 -webkit-transform: rotate(0deg);95 transform: rotate(0deg);96 }87 0% { 88 -webkit-transform: rotate(0deg); 89 transform: rotate(0deg); 90 } 97 91 98 100% {99 -webkit-transform: rotate(360deg);100 transform: rotate(360deg);101 }92 100% { 93 -webkit-transform: rotate(360deg); 94 transform: rotate(360deg); 95 } 102 96 } 103 97 104 98 @keyframes rotation { 105 99 106 0% {107 -webkit-transform: rotate(0deg);108 transform: rotate(0deg);109 }100 0% { 101 -webkit-transform: rotate(0deg); 102 transform: rotate(0deg); 103 } 110 104 111 100% {112 -webkit-transform: rotate(360deg);113 transform: rotate(360deg);114 }105 100% { 106 -webkit-transform: rotate(360deg); 107 transform: rotate(360deg); 108 } 115 109 } 116 110 117 111 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.success span.icon { 118 color: var(--gp-color-green);112 color: var(--gp-color-green); 119 113 } 120 114 121 115 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.fail span.icon { 122 color: var(--gp-color-red);116 color: var(--gp-color-red); 123 117 } 124 118 125 119 table.translation-sets tr.variant td:first-child { 126 color: var(--gp-color-accent-fg);120 color: var(--gp-color-accent-fg); 127 121 } 128 122 129 123 table.translation-sets tr.variant td:first-child::before { 130 font-family: dashicons;131 content: "\f139";132 vertical-align: middle;124 font-family: dashicons; 125 content: "\f139"; 126 vertical-align: middle; 133 127 } 134 128 135 129 table.translation-sets tr[data-editable="false"] { 136 background-color: var(--gp-color-secondary-100);130 background-color: var(--gp-color-secondary-100); 137 131 } 138 132 139 133 table.translation-sets tr[data-editable="false"]:hover { 140 background-color: var(--gp-color-secondary-200);134 background-color: var(--gp-color-secondary-200); 141 135 } 142 136 143 137 table.translation-sets tr[data-editable="false"] td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status { 144 display: inline-block;138 display: inline-block; 145 139 } -
gp-convert-pt-ao90/tags/1.4.10/assets/css/style.min.css.map
r3171568 r3181736 1 {"version":3,"sources":["style.css"],"names":[],"mappings":"AAGA,uEA GC,qBAAsB,CADtB,SAED,CAEA,mFAEC,gBACD,CAEA,6EAIC,eAAgB,CAFhB,QAAS,CACT,SAED,CAEA,qHAGC,+BAAgC,CADhC,oBAED,CAEA,2DACC,wBAAyB,CAGzB,oBAAqB,CAFrB,4BAA6B,CAC7B,oBAED,CAEA,8CACC,eAAgB,CAChB,SACD,CAEA,kGAMC,8BAA+B,CAF/B,oBAAqB,CADrB,aAAc,CAEd,kBAAmB,CAJnB,gBAAkB,CAClB,qBAKD,CAEA,8GACC,YACD,CAEA,gHACC,gBAAkB,CAClB,qBACD,CAEA,8aAGC,oCAAqC,CACrC,gCAAkC,CAClC,4BAA6B,CAC7B,wBACD,CAEA,yHACC,0CACD,CAEA,0HACC,2DAAoE,CACpE,mDACD,CAEA,2HAKC,oBAAqB,CACrB,kBAAmB,CALnB,gBAAkB,CAClB,iBAAmB,CAEnB,eAAgB,CADhB,qBAID,CAEA,mIAEC,6CAA8C,CAC9C,qCAAsC,CAFtC,iCAGD,CAEA,4BAEC,GACC,8BAA+B,CAC/B,sBACD,CAEA,GACC,+BAAiC,CACjC,uBACD,CACD,CAEA,oBAEC,GACC,8BAA+B,CAC/B,sBACD,CAEA,GACC,+BAAiC,CACjC,uBACD,CACD,CAEA,kIACC,2BACD,CAEA,+HACC,yBACD,CAEA,iDACC,+BACD,CAEA,wDAEC,eAAgB,CADhB,qBAAsB,CAEtB,qBACD,CAEA,+CACC,8CACD,CAEA,qDACC,8CACD,CAEA,mIACC,oBACD","file":"style.min.css","sourcesContent":["/**\n * Temporary override while GlotPress with Variants doesn't have this CSS.\n */\ntable.translations tr td.original,\ntable.translations tr td.translation {\n\twidth: 45%;\n\tvertical-align: middle;\n}\n\ntable.translations tr td.original small,\ntable.translations tr td.translation small {\n\tfont-size: 0.75rem;\n}\n\ntable.translations tr td.original ul,\ntable.translations tr td.translation ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\ntable.translations tr td.original ul li:not(:last-child),\ntable.translations tr td.translation ul li:not(:last-child) {\n\tpadding-bottom: 0.25em;\n\tborder-bottom: 1px solid #e4e4e4;\n}\n\ntable.translations tr td.translation .translation-text ins {\n\tbackground-color: #68de7c;\n\t-webkit-text-decoration: none;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\ntable.translation-sets tr th.gp-column-locale {\n\tmin-width: 400px;\n\twidth: 45%;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon {\n\tmargin-left: 0.5em;\n\tvertical-align: middle;\n\tfont-size: 1em;\n\tdisplay: inline-block;\n\tline-height: normal;\n\tcolor: var(--gp-color-fg-muted);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status {\n\tdisplay: none;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button {\n\tmargin-left: 0.5em;\n\tvertical-align: bottom;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon,\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon,\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon {\n\tcolor: var(--gp-color-btn-hover-text);\n\t-webkit-transform: rotateZ(180deg);\n\t-ms-transform: rotate(180deg);\n\ttransform: rotateZ(180deg);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:disabled {\n\tcolor: var(--gp-color-fg-default) !important;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.icon {\n\t-webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;\n\ttransition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.label {\n\tmargin-left: 0.5em;\n\tmargin-right: 0.5em;\n\tvertical-align: middle;\n\ttext-align: left;\n\tdisplay: inline-block;\n\tline-height: normal;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.updating span.icon {\n\tcolor: var(--gp-color-dark-orange);\n\t-webkit-animation: rotation 2s infinite linear;\n\tanimation: rotation 2s infinite linear;\n}\n\n@-webkit-keyframes rotation {\n\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t\ttransform: rotate(0deg);\n\t}\n\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n@keyframes rotation {\n\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t\ttransform: rotate(0deg);\n\t}\n\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t\ttransform: rotate(360deg);\n\t}\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.success span.icon {\n\tcolor: var(--gp-color-green);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.fail span.icon {\n\tcolor: var(--gp-color-red);\n}\n\ntable.translation-sets tr.variant td:first-child {\n\tcolor: var(--gp-color-accent-fg);\n}\n\ntable.translation-sets tr.variant td:first-child::before {\n\tfont-family: dashicons;\n\tcontent: \"\\f139\";\n\tvertical-align: middle;\n}\n\ntable.translation-sets tr[data-editable=\"false\"] {\n\tbackground-color: var(--gp-color-secondary-100);\n}\n\ntable.translation-sets tr[data-editable=\"false\"]:hover {\n\tbackground-color: var(--gp-color-secondary-200);\n}\n\ntable.translation-sets tr[data-editable=\"false\"] td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status {\n\tdisplay: inline-block;\n}\n"]}1 {"version":3,"sources":["style.css"],"names":[],"mappings":"AAGA,uEAdisplay: inline-block;\n}\n"]} -
gp-convert-pt-ao90/tags/1.4.10/gp-convert-pt-ao90.php
r3171568 r3181736 18 18 * Plugin URI: https://wordpress.org/plugins/gp-convert-pt-ao90/ 19 19 * Description: Language tool for GlotPress to convert text according to the Portuguese Language Orthographic Agreement of 1990 (PT AO90). 20 * Version: 1.4. 920 * Version: 1.4. 21 21 * Requires at least: 5.3 22 * Tested up to: 6. 622 * Tested up to: 6. 23 23 * Requires PHP: 7.4 24 24 * Requires Plugins: glotpress -
gp-convert-pt-ao90/tags/1.4.10/gp-templates/translation-row-preview.php
r3171568 r3181736 71 71 <td class="translation foreign-text"> 72 72 <?php 73 73 74 if ( $can_edit ) { 74 75 $edit_text = __( 'Double-click to add', 'gp-convert-pt-ao90' ); … … 76 77 $edit_text = __( 'You are not allowed to add a translation.', 'gp-convert-pt-ao90' ); 77 78 } else { 78 $edit_text = sprintf( /* translators: %s: URL. */ __( 'You <a href="%s">have to log in</a> to add a translation.', 'gp-convert-pt-ao90' ), esc_url( wp_login_url( gp_url_current() ) ) ); 79 $edit_text = sprintf( 80 /* translators: %s: URL. */ 81 __( 'You <a href="%s">have to log in</a> to add a translation.', 'gp-convert-pt-ao90' ), 82 esc_url( wp_login_url( gp_url_current() ) ) 83 ); 79 84 } 80 85 81 86 $missing_text = "<span class='missing'>$edit_text</span>"; 87 82 88 if ( ! count( array_filter( $translation->translations, 'gp_is_not_null' ) ) ) { 89 90 83 91 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 84 92 echo $missing_text; 93 85 94 } elseif ( ! $translation->plural || $locale->nplurals === 1 ) { 95 96 86 97 $singular_translation = esc_translation( $translation->translations[0] ); 87 98 // Check if has root. … … 96 107 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 97 108 echo '<span class="translation-text">' . prepare_original( $singular_translation ) . '</span>'; 109 98 110 } elseif ( $translation->plural && $locale->nplurals === 2 && $locale->plural_expression === 'n != 1' ) { 111 112 99 113 ?> 100 114 <ul> … … 145 159 </ul> 146 160 <?php 161 147 162 } else { 163 164 148 165 ?> 149 166 <ul> … … 187 204 </ul> 188 205 <?php 189 } 206 207 } 208 190 209 ?> 191 210 </td> -
gp-convert-pt-ao90/tags/1.4.10/includes/class-portuguese-ao90.php
r3060794 r3181736 234 234 } 235 235 236 // Customize $args on 'translations' template , and also on 'translation-row' for when is loaded through ajax..237 if ( $template === 'translations' || $template === 'translation-row') {236 // Customize $args on 'translations' template. 237 if ( $template === 'translations' ) { 238 238 239 239 $project = self::gp_project( $args['project'] ); … … 255 255 256 256 $root_translations = null; 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 257 339 if ( ! $supports_variants && GP_CONVERT_PT_AO90_SHOWDIFF === true && $has_root === true ) { 258 340 $root_translations = GP::$translation->for_translation( … … 260 342 $root_translation_set, 261 343 'no-limit', 262 gp_get( 263 'filters', 264 array( 265 'status' => 'current', // Only current translations. 266 ) 344 // Get the current root translation for the row original. 345 array( 346 'status' => 'current', 347 'original_id' => $args['original_id'], 267 348 ) 268 349 ); -
gp-convert-pt-ao90/tags/1.4.10/vendor/autoload.php
r3171568 r3181736 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7::getLoader();25 return ComposerAutoloaderInit9::getLoader(); -
gp-convert-pt-ao90/tags/1.4.10/vendor/composer/autoload_real.php
r3171568 r3181736 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b75 class ComposerAutoloaderInit9 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit9', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit9', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit9::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $filesToLoad = \Composer\Autoload\ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::$files;36 $filesToLoad = \Composer\Autoload\ComposerStaticInit9::$files; 37 37 $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { 38 38 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
gp-convert-pt-ao90/tags/1.4.10/vendor/composer/autoload_static.php
r3171568 r3181736 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b77 class ComposerStaticInit9 8 8 { 9 9 public static $files = array ( … … 19 19 { 20 20 return \Closure::bind(function () use ($loader) { 21 $loader->classMap = ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::$classMap;21 $loader->classMap = ComposerStaticInit9::$classMap; 22 22 23 23 }, null, ClassLoader::class); -
gp-convert-pt-ao90/tags/1.4.10/vendor/composer/installed.php
r3171568 r3181736 2 2 'root' => array( 3 3 'name' => 'pedro-mendonca/gp-convert-pt-ao90', 4 'pretty_version' => '1.4. 9',5 'version' => '1.4. 9.0',6 'reference' => ' 94b7f144b423d3a03db6d19de5bafe7163f8d5fe',4 'pretty_version' => '1.4.', 5 'version' => '1.4..0', 6 'reference' => '', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'pedro-mendonca/gp-convert-pt-ao90' => array( 23 'pretty_version' => '1.4. 9',24 'version' => '1.4. 9.0',25 'reference' => ' 94b7f144b423d3a03db6d19de5bafe7163f8d5fe',23 'pretty_version' => '1.4.', 24 'version' => '1.4..0', 25 'reference' => '', 26 26 'type' => 'wordpress-plugin', 27 27 'install_path' => __DIR__ . '/../../', -
gp-convert-pt-ao90/trunk/assets/css/style.css
r3171568 r3181736 2 2 * Temporary override while GlotPress with Variants doesn't have this CSS. 3 3 */ 4 table.translations tr td.original, 5 table.translations tr td.translation { 6 width: 45%; 7 vertical-align: middle; 4 table.translations tr td.original, table.translations tr td.translation { 5 width: 45%; 6 vertical-align: middle; 8 7 } 9 8 10 table.translations tr td.original small, 11 table.translations tr td.translation small { 12 font-size: 0.75rem; 9 table.translations tr td.original small, table.translations tr td.translation small { 10 font-size: 0.75rem; 13 11 } 14 12 15 table.translations tr td.original ul, 16 table.translations tr td.translation ul { 17 margin: 0; 18 padding: 0; 19 list-style: none; 13 table.translations tr td.original ul, table.translations tr td.translation ul { 14 margin: 0; 15 padding: 0; 16 list-style: none; 20 17 } 21 18 22 table.translations tr td.original ul li:not(:last-child), 23 table.translations tr td.translation ul li:not(:last-child) { 24 padding-bottom: 0.25em; 25 border-bottom: 1px solid #e4e4e4; 19 table.translations tr td.original ul li:not(:last-child), table.translations tr td.translation ul li:not(:last-child) { 20 padding-bottom: 0.25em; 21 border-bottom: 1px solid #e4e4e4; 26 22 } 27 23 28 24 table.translations tr td.translation .translation-text ins { 29 background-color: #68de7c;30 -webkit-text-decoration: none;31 text-decoration: none;32 display: inline-block;25 background-color: #68de7c; 26 -webkit-text-decoration: none; 27 text-decoration: none; 28 display: inline-block; 33 29 } 34 30 35 31 table.translation-sets tr th.gp-column-locale { 36 min-width: 400px;37 width: 45%;32 min-width: 400px; 33 width: 45%; 38 34 } 39 35 40 36 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon { 41 margin-left: 0.5em;42 vertical-align: middle;43 font-size: 1em;44 display: inline-block;45 line-height: normal;46 color: var(--gp-color-fg-muted);37 margin-left: 0.5em; 38 vertical-align: middle; 39 font-size: 1em; 40 display: inline-block; 41 line-height: normal; 42 color: var(--gp-color-fg-muted); 47 43 } 48 44 49 45 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status { 50 display: none;46 display: none; 51 47 } 52 48 53 49 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button { 54 margin-left: 0.5em;55 vertical-align: bottom;50 margin-left: 0.5em; 51 vertical-align: bottom; 56 52 } 57 53 58 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon, 59 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon, 60 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon { 61 color: var(--gp-color-btn-hover-text); 62 -webkit-transform: rotateZ(180deg); 63 -ms-transform: rotate(180deg); 64 transform: rotateZ(180deg); 54 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon, table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon, table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon { 55 color: var(--gp-color-btn-hover-text); 56 -webkit-transform: rotateZ(180deg); 57 -ms-transform: rotate(180deg); 58 transform: rotateZ(180deg); 65 59 } 66 60 67 61 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:disabled { 68 color: var(--gp-color-fg-default) !important;62 color: var(--gp-color-fg-default) !important; 69 63 } 70 64 71 65 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.icon { 72 -webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;73 transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;66 -webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s; 67 transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s; 74 68 } 75 69 76 70 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.label { 77 margin-left: 0.5em;78 margin-right: 0.5em;79 vertical-align: middle;80 text-align: left;81 display: inline-block;82 line-height: normal;71 margin-left: 0.5em; 72 margin-right: 0.5em; 73 vertical-align: middle; 74 text-align: left; 75 display: inline-block; 76 line-height: normal; 83 77 } 84 78 85 79 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.updating span.icon { 86 color: var(--gp-color-dark-orange);87 -webkit-animation: rotation 2s infinite linear;88 animation: rotation 2s infinite linear;80 color: var(--gp-color-dark-orange); 81 -webkit-animation: rotation 2s infinite linear; 82 animation: rotation 2s infinite linear; 89 83 } 90 84 91 85 @-webkit-keyframes rotation { 92 86 93 0% {94 -webkit-transform: rotate(0deg);95 transform: rotate(0deg);96 }87 0% { 88 -webkit-transform: rotate(0deg); 89 transform: rotate(0deg); 90 } 97 91 98 100% {99 -webkit-transform: rotate(360deg);100 transform: rotate(360deg);101 }92 100% { 93 -webkit-transform: rotate(360deg); 94 transform: rotate(360deg); 95 } 102 96 } 103 97 104 98 @keyframes rotation { 105 99 106 0% {107 -webkit-transform: rotate(0deg);108 transform: rotate(0deg);109 }100 0% { 101 -webkit-transform: rotate(0deg); 102 transform: rotate(0deg); 103 } 110 104 111 100% {112 -webkit-transform: rotate(360deg);113 transform: rotate(360deg);114 }105 100% { 106 -webkit-transform: rotate(360deg); 107 transform: rotate(360deg); 108 } 115 109 } 116 110 117 111 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.success span.icon { 118 color: var(--gp-color-green);112 color: var(--gp-color-green); 119 113 } 120 114 121 115 table.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.fail span.icon { 122 color: var(--gp-color-red);116 color: var(--gp-color-red); 123 117 } 124 118 125 119 table.translation-sets tr.variant td:first-child { 126 color: var(--gp-color-accent-fg);120 color: var(--gp-color-accent-fg); 127 121 } 128 122 129 123 table.translation-sets tr.variant td:first-child::before { 130 font-family: dashicons;131 content: "\f139";132 vertical-align: middle;124 font-family: dashicons; 125 content: "\f139"; 126 vertical-align: middle; 133 127 } 134 128 135 129 table.translation-sets tr[data-editable="false"] { 136 background-color: var(--gp-color-secondary-100);130 background-color: var(--gp-color-secondary-100); 137 131 } 138 132 139 133 table.translation-sets tr[data-editable="false"]:hover { 140 background-color: var(--gp-color-secondary-200);134 background-color: var(--gp-color-secondary-200); 141 135 } 142 136 143 137 table.translation-sets tr[data-editable="false"] td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status { 144 display: inline-block;138 display: inline-block; 145 139 } -
gp-convert-pt-ao90/trunk/assets/css/style.min.css.map
r3171568 r3181736 1 {"version":3,"sources":["style.css"],"names":[],"mappings":"AAGA,uEA GC,qBAAsB,CADtB,SAED,CAEA,mFAEC,gBACD,CAEA,6EAIC,eAAgB,CAFhB,QAAS,CACT,SAED,CAEA,qHAGC,+BAAgC,CADhC,oBAED,CAEA,2DACC,wBAAyB,CAGzB,oBAAqB,CAFrB,4BAA6B,CAC7B,oBAED,CAEA,8CACC,eAAgB,CAChB,SACD,CAEA,kGAMC,8BAA+B,CAF/B,oBAAqB,CADrB,aAAc,CAEd,kBAAmB,CAJnB,gBAAkB,CAClB,qBAKD,CAEA,8GACC,YACD,CAEA,gHACC,gBAAkB,CAClB,qBACD,CAEA,8aAGC,oCAAqC,CACrC,gCAAkC,CAClC,4BAA6B,CAC7B,wBACD,CAEA,yHACC,0CACD,CAEA,0HACC,2DAAoE,CACpE,mDACD,CAEA,2HAKC,oBAAqB,CACrB,kBAAmB,CALnB,gBAAkB,CAClB,iBAAmB,CAEnB,eAAgB,CADhB,qBAID,CAEA,mIAEC,6CAA8C,CAC9C,qCAAsC,CAFtC,iCAGD,CAEA,4BAEC,GACC,8BAA+B,CAC/B,sBACD,CAEA,GACC,+BAAiC,CACjC,uBACD,CACD,CAEA,oBAEC,GACC,8BAA+B,CAC/B,sBACD,CAEA,GACC,+BAAiC,CACjC,uBACD,CACD,CAEA,kIACC,2BACD,CAEA,+HACC,yBACD,CAEA,iDACC,+BACD,CAEA,wDAEC,eAAgB,CADhB,qBAAsB,CAEtB,qBACD,CAEA,+CACC,8CACD,CAEA,qDACC,8CACD,CAEA,mIACC,oBACD","file":"style.min.css","sourcesContent":["/**\n * Temporary override while GlotPress with Variants doesn't have this CSS.\n */\ntable.translations tr td.original,\ntable.translations tr td.translation {\n\twidth: 45%;\n\tvertical-align: middle;\n}\n\ntable.translations tr td.original small,\ntable.translations tr td.translation small {\n\tfont-size: 0.75rem;\n}\n\ntable.translations tr td.original ul,\ntable.translations tr td.translation ul {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\ntable.translations tr td.original ul li:not(:last-child),\ntable.translations tr td.translation ul li:not(:last-child) {\n\tpadding-bottom: 0.25em;\n\tborder-bottom: 1px solid #e4e4e4;\n}\n\ntable.translations tr td.translation .translation-text ins {\n\tbackground-color: #68de7c;\n\t-webkit-text-decoration: none;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\ntable.translation-sets tr th.gp-column-locale {\n\tmin-width: 400px;\n\twidth: 45%;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon {\n\tmargin-left: 0.5em;\n\tvertical-align: middle;\n\tfont-size: 1em;\n\tdisplay: inline-block;\n\tline-height: normal;\n\tcolor: var(--gp-color-fg-muted);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status {\n\tdisplay: none;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button {\n\tmargin-left: 0.5em;\n\tvertical-align: bottom;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):hover span.icon,\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled):focus span.icon,\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:not(:disabled).active span.icon {\n\tcolor: var(--gp-color-btn-hover-text);\n\t-webkit-transform: rotateZ(180deg);\n\t-ms-transform: rotate(180deg);\n\ttransform: rotateZ(180deg);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button:disabled {\n\tcolor: var(--gp-color-fg-default) !important;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.icon {\n\t-webkit-transition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;\n\ttransition: all 600ms cubic-bezier(0.075, 0.82, 0.165, 1) 0s;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button span.label {\n\tmargin-left: 0.5em;\n\tmargin-right: 0.5em;\n\tvertical-align: middle;\n\ttext-align: left;\n\tdisplay: inline-block;\n\tline-height: normal;\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.updating span.icon {\n\tcolor: var(--gp-color-dark-orange);\n\t-webkit-animation: rotation 2s infinite linear;\n\tanimation: rotation 2s infinite linear;\n}\n\n@-webkit-keyframes rotation {\n\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t\ttransform: rotate(0deg);\n\t}\n\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n@keyframes rotation {\n\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t\ttransform: rotate(0deg);\n\t}\n\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t\ttransform: rotate(360deg);\n\t}\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.success span.icon {\n\tcolor: var(--gp-color-green);\n}\n\ntable.translation-sets tr td:first-child span.gp-convert-pt-ao90-update button.gp-convert-pt-ao90-update-button.fail span.icon {\n\tcolor: var(--gp-color-red);\n}\n\ntable.translation-sets tr.variant td:first-child {\n\tcolor: var(--gp-color-accent-fg);\n}\n\ntable.translation-sets tr.variant td:first-child::before {\n\tfont-family: dashicons;\n\tcontent: \"\\f139\";\n\tvertical-align: middle;\n}\n\ntable.translation-sets tr[data-editable=\"false\"] {\n\tbackground-color: var(--gp-color-secondary-100);\n}\n\ntable.translation-sets tr[data-editable=\"false\"]:hover {\n\tbackground-color: var(--gp-color-secondary-200);\n}\n\ntable.translation-sets tr[data-editable=\"false\"] td:first-child span.gp-convert-pt-ao90-update span.translation-set-icon.edit-status {\n\tdisplay: inline-block;\n}\n"]}1 {"version":3,"sources":["style.css"],"names":[],"mappings":"AAGA,uEAdisplay: inline-block;\n}\n"]} -
gp-convert-pt-ao90/trunk/gp-convert-pt-ao90.php
r3171568 r3181736 18 18 * Plugin URI: https://wordpress.org/plugins/gp-convert-pt-ao90/ 19 19 * Description: Language tool for GlotPress to convert text according to the Portuguese Language Orthographic Agreement of 1990 (PT AO90). 20 * Version: 1.4. 920 * Version: 1.4. 21 21 * Requires at least: 5.3 22 * Tested up to: 6. 622 * Tested up to: 6. 23 23 * Requires PHP: 7.4 24 24 * Requires Plugins: glotpress -
gp-convert-pt-ao90/trunk/gp-templates/translation-row-preview.php
r3171568 r3181736 71 71 <td class="translation foreign-text"> 72 72 <?php 73 73 74 if ( $can_edit ) { 74 75 $edit_text = __( 'Double-click to add', 'gp-convert-pt-ao90' ); … … 76 77 $edit_text = __( 'You are not allowed to add a translation.', 'gp-convert-pt-ao90' ); 77 78 } else { 78 $edit_text = sprintf( /* translators: %s: URL. */ __( 'You <a href="%s">have to log in</a> to add a translation.', 'gp-convert-pt-ao90' ), esc_url( wp_login_url( gp_url_current() ) ) ); 79 $edit_text = sprintf( 80 /* translators: %s: URL. */ 81 __( 'You <a href="%s">have to log in</a> to add a translation.', 'gp-convert-pt-ao90' ), 82 esc_url( wp_login_url( gp_url_current() ) ) 83 ); 79 84 } 80 85 81 86 $missing_text = "<span class='missing'>$edit_text</span>"; 87 82 88 if ( ! count( array_filter( $translation->translations, 'gp_is_not_null' ) ) ) { 89 90 83 91 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 84 92 echo $missing_text; 93 85 94 } elseif ( ! $translation->plural || $locale->nplurals === 1 ) { 95 96 86 97 $singular_translation = esc_translation( $translation->translations[0] ); 87 98 // Check if has root. … … 96 107 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 97 108 echo '<span class="translation-text">' . prepare_original( $singular_translation ) . '</span>'; 109 98 110 } elseif ( $translation->plural && $locale->nplurals === 2 && $locale->plural_expression === 'n != 1' ) { 111 112 99 113 ?> 100 114 <ul> … … 145 159 </ul> 146 160 <?php 161 147 162 } else { 163 164 148 165 ?> 149 166 <ul> … … 187 204 </ul> 188 205 <?php 189 } 206 207 } 208 190 209 ?> 191 210 </td> -
gp-convert-pt-ao90/trunk/includes/class-portuguese-ao90.php
r3060794 r3181736 234 234 } 235 235 236 // Customize $args on 'translations' template , and also on 'translation-row' for when is loaded through ajax..237 if ( $template === 'translations' || $template === 'translation-row') {236 // Customize $args on 'translations' template. 237 if ( $template === 'translations' ) { 238 238 239 239 $project = self::gp_project( $args['project'] ); … … 255 255 256 256 $root_translations = null; 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 257 339 if ( ! $supports_variants && GP_CONVERT_PT_AO90_SHOWDIFF === true && $has_root === true ) { 258 340 $root_translations = GP::$translation->for_translation( … … 260 342 $root_translation_set, 261 343 'no-limit', 262 gp_get( 263 'filters', 264 array( 265 'status' => 'current', // Only current translations. 266 ) 344 // Get the current root translation for the row original. 345 array( 346 'status' => 'current', 347 'original_id' => $args['original_id'], 267 348 ) 268 349 ); -
gp-convert-pt-ao90/trunk/vendor/autoload.php
r3171568 r3181736 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7::getLoader();25 return ComposerAutoloaderInit9::getLoader(); -
gp-convert-pt-ao90/trunk/vendor/composer/autoload_real.php
r3171568 r3181736 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b75 class ComposerAutoloaderInit9 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit9', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit9 ffbbb72c1f27450668973fafc7f67b7', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit9', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit9::getInitializer($loader)); 33 33 34 34 $loader->register(true); 35 35 36 $filesToLoad = \Composer\Autoload\ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::$files;36 $filesToLoad = \Composer\Autoload\ComposerStaticInit9::$files; 37 37 $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { 38 38 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
gp-convert-pt-ao90/trunk/vendor/composer/autoload_static.php
r3171568 r3181736 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b77 class ComposerStaticInit9 8 8 { 9 9 public static $files = array ( … … 19 19 { 20 20 return \Closure::bind(function () use ($loader) { 21 $loader->classMap = ComposerStaticInit9 ffbbb72c1f27450668973fafc7f67b7::$classMap;21 $loader->classMap = ComposerStaticInit9::$classMap; 22 22 23 23 }, null, ClassLoader::class); -
gp-convert-pt-ao90/trunk/vendor/composer/installed.php
r3171568 r3181736 2 2 'root' => array( 3 3 'name' => 'pedro-mendonca/gp-convert-pt-ao90', 4 'pretty_version' => '1.4. 9',5 'version' => '1.4. 9.0',6 'reference' => ' 94b7f144b423d3a03db6d19de5bafe7163f8d5fe',4 'pretty_version' => '1.4.', 5 'version' => '1.4..0', 6 'reference' => '', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'pedro-mendonca/gp-convert-pt-ao90' => array( 23 'pretty_version' => '1.4. 9',24 'version' => '1.4. 9.0',25 'reference' => ' 94b7f144b423d3a03db6d19de5bafe7163f8d5fe',23 'pretty_version' => '1.4.', 24 'version' => '1.4..0', 25 'reference' => '', 26 26 'type' => 'wordpress-plugin', 27 27 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.