All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Breaking Changes
- Developers: Remove all compatibility functions for multibyte string functions. (#1123)
- Developers: Require the query argument to be set for all database query related
GP_Thing
methods. - Developers: Rename
gp_locale_definitions_arrary
togp_locale_definitions_array
. - Locales: Remove the no-variants version of
locales.php
. (#1173)
Bugfixes
- Locales: Fix country code for Tahitian. (#1127)
- Locales: Fix country code for Tajik. (#1128)
- Locales: Update plural expression for various locales. (#1129, #1130, #1131, #1132, #1133, #1134, #1135, #1136, #1137, #1138, #1139, #1140, #1141, #1142, #1143, #1144, #1145, #1146, #1147, #1148, #1149, #1150, #1151, #1152, #1153)
- Locales: Add missing parenthesis in native name for German (Austria). (#1156)
- Locales: Remove
wp_locale
from currently unsupported locales in WordPress. (#1155)
Features
- Locales: Add
wp_locale
for Aragonese. (#1154) - Locales: Add definition for Nigerian Pidgin. (#1157)
- Locales: Add definition for Spanish (Uruguay). (#1161)
- Locales: Add definition for Cornish. (#1162)
- Locales: Add definition for Bengali (India). (#1165)
- Locales: Add definition for Ligurian. (#1163)
- Locales: Add definition for Borana-Arsi-Guji Oromo. (#1164)
- Locales: Add "Portuguese (Portugal, AO90)" variant. (#1017)
- Locales: Add definitions for Fon, Tamazight and Ecuadorian Spanish. (#1171)
- Locales: Locales: Update native name for Venetian, add WP locale. (#1183)
Thanks to all the contributors: Dominik Schilling, Pedro Mendonça and Naoko Takano.
3.0.0-alpha.1 (May 2, 2020)
Breaking Changes
- GlotPress now requires PHP 7.2 or newer and WordPress 4.6 or newer. (#572, #1097, #1118)
- iOS .strings file import/exports now are UTF8 encoded instead of UTF16-LE. (#903)
- Glossary entries are now case insensitive. (#703)
- Developers: Various template changes. (#914, #1102)
- Developers: Remove
GP_CLI
andGP_Translation_Set_Script
. (#452) - Developers: Remove
gp_urldecode_deep()
. (#1053) - Developers: Remove
gp_url_ssl()
. (#1055) - Developers: Types of integer fields are now always normalized to integers. (#1050)
Bugfixes
- Fix incorrect key in Apple strings file exports. (#1105)
- Fix querying translations by priority. (#664)
- Fix glossary import nonce check. (#673)
- Fix flushing of existing glossary on import. (#675)
- Fix removing of starting newline from translations. (#701)
- Fix glossary tooltips after editing a row. (#704)
- Fix duplicate translation entry on dismissing warnings. (#699)
- Fix missing styles for jQuery UI. (#758)
- Improve calculation of translation status counts. (#790)
- Fix missing escaping for quotation marks in Android output. (#809)
- Fix translation preview with long words. (#875, #1102)
- Fix import of escaped unicodes in Android strings files. (#910)
- Fix duplicate glossary tooltips for the same term. (#915)
- Fix long strings for Apple strings file export. (#921)
- Fix submitting a translation containing the UTF-8 characters → and ↵. (#648)
- Fix warnings count and filter view for warnings differ. (#919)
- Fix project paths with utf8mb4 characters. (#415)
- Fix mangled HTML tags in originals with some glossary entries. (#869)
- Prevent adding duplicate glossary entries. (#745)
- Improve position of action buttons in the translations editor. (#684)
- Abort changing translation status when the translation has been altered. (#707)
- Fix multi-select for forward and backwards selections. (#979)
- Locales: Remove invalid 'me' language code for Montenegrin. (#619)
- Locales: Remove extra control character after locale name for Czech. (#696)
- Locales: Fix Google code for German (Switzerland). (#743)
- Locales: Fix native locale name for Uighur. (#870)
- Locales: Fix plural expression for Persian locales. (#1012)
Features
- Add locale variants support. (#226)
- Support XLIFF tags in Android imports. (#628)
- Mark new projects as active by default. (#662)
- Highlight current selected translation filters. (#764)
- Block adding glossary terms containing punctuation with error/warning. (#768)
- Show all translation warnings at once. (#370)
- Add tooltips to the accept/reject/fuzzy buttons. (#460)
- Add a second bulk action toolbar at the bottom of the translations list. (#793)
- Make notices dismissable. (#658)
- Add Korean locale to warnings length exclusions. (#850)
- Show fuzzy, waiting, and warnings filters to everyone. (#881)
- Provide translation count when filtering. (#925)
- Highlight glossary terms on translation previews. (#899)
- Add translation filter option to search in originals or translations only. (#860)
- Add translation filter 'with plural'. (#959)
- Add a 'translated' filter to match table column. (#1121)
- Remove default sorting for untranslated view. (#1106)
- Locales: Add Mauritian. (#909)
- Locales: Add WordPress locale for Chinese (Singapore). (#823)
- Locales: Add Northern Sotho. (#1049)
- Locales: Add Fula. (#1048)
- Locales: Add Papiamento (Curaçao and Bonaire) and Papiamento (Aruba). (#1047)
- Locales: Add Maithili. (#1029)
- Locales: Add Lower Sorbian, Ch’ti (France), Wolof. (#1025)
- Locales: Add Bhojpuri, Bodo, German (Austria), Spanish (Dominican Republic), Spanish (Honduras), Upper Sorbian, Igbo, Karakalpak, N’ko, and Portuguese (Angola). (#994)
- Developers: Add filter to customize translations before saving. (#517)
- Developers: Add actions when a translation set is created/saved/deleted. (#659)
- Developers: Pass previous state to saved actions. (#335)
- Developers: Add filter to customize path prefix for locale glossaries. (#655)
Thanks to all the contributors: Alex Kirk, Alin Marcu, Chris Gårdenberg, Daniel James, Daniele Scasciafratte, David Stone, Dominik Schilling, Garrett Hyder, Greg Ross, Ignacio, Pedro Mendonça, Petya Raykovska, Ramon, Sergey Biryukov, SVANNER, Tor-Björn Fjellner and Yoav Farhi.
2.3.1 (March 1, 2017)
Bugfixes
- Don't require a project glossary to show terms of a locale glossary. (#656)
- Allow querying translations by priority. (#664)
- Fix incorrect nonce check for locale glossary imports. (#673)
- Fix flushing existing glossary on import. (#675)
Features
- Add
gp_locale_glossary_path_prefix
filter for the locale glossary path prefix. (#655)
Thanks to all the contributors so far: Alex Kirk, Dominik Schilling, Greg Ross, and Yoav Farhi.
2.3.0 (February 6, 2017)
(this space intentionally left blank)
2.3.0-rc.1 (January 31, 2017)
Bugfixes
- Allow project glossaries to override terms of a locale glossary. (#640)
- Remove hard coded 'default' slug which prevented locale glossaries for locale variants. (#641)
- During imports, don't change status
fuzzy
towaiting
if a translation has warnings. (#646) - Allow CLI imports to set the status of translations to
current
. (#644)
Thanks to all the contributors so far: Dominik Schilling, Greg Ross and Sergey Biryukov.
2.3.0-beta.1 (January 17, 2017)
Bugfixes
- Fix incorrect URL's in some cases on locale page. (#632)
- Fix truncation of download names if they contain a space. (#633)
- Improve glossary plural handling. (#595)
- Restore edit text for non translated entries. (#519)
- Don't create duplicate translations during imports. (#579)
- Redirect users back to previous page when they have to log in. (#558)
- Fix default file extension for .NET Resources files. (#573)
- Fix radio button code to remove spurious single quote. (#610)
Features
- Add JSON format for JED and plain JSON. (#523)
- Add support for locale glossaries. (#227)
- Add ability to mark translations as fuzzy. (#620)
- Enhance display of previous translations with special characters in them. (#625)
- Add support for importing fuzzy translations. (#596)
- Add keyboard shortcut for copying original strings. (#554)
- Developers: Add filters for translations queries. (#524)
- Developers: Add Fine-grained permissions per translations. (#537)
- Developers: Add filter for adding links to the translation editor. (#597)
- Add meta data to all file formats that can support it. (#575)
- Update ROH locale information. (#605)
Thanks to all the contributors so far: Alex Kirk, Anton Timmermans, Dominik Schilling, Greg Ross, Nikhil, Pascal Birchler, and Yoav Farhi.
2.2.2 (November 21, 2016)
Security
- Fix an information leak in the API, reported by Alex Kirk.
2.2.1 (November 11, 2016)
Bugfixes
- Fix missing header fields in .mo files. (#594)
- Add padding to table headers to avoid overlapping with sorting graphics. (#565)
- Fix for "Only variables should be passed by reference" warning when importing translations. (#566)
Features
- Add locale information for Xhosa. (#603)
Thanks to all the contributors so far: Alex Kirk, Dominik Schilling, and Greg Ross.
2.2.0 (September 30, 2016)
(this space intentionally left blank)
2.2.0-rc.1 (September 22, 2016)
(this space intentionally left blank)
2.2.0-beta.1 (September 19, 2016)
Breaking Changes
- Change the slug of the Kyrgyz locale from
ky
tokir
. (#550)
Bugfixes
- Fix broken cancel link on project create form. (#547)
- Fix native name of the Tibetan locale name from བོད་སྐད to བོད་ཡིག. (#539)
- Fix extra entry in
GP_Translation::translations()
. (#516) - Merge similar strings to improve translation. (#535)
- Refactor script and style registration to make them more reliable. (#476)
- Update locale information for Kyrgyz to use correct data. (#550)
Features
- Add locale information for the Latin version of Hausa. (#549)
- Fix translations which are using the placeholder for tab characters. (#473)
- Add
gp_reference_source_url
filter for the source URL of a project. (#522) - Provide minified assets. (#505)
- Update JavaScript library for table sorting. (#502)
Thanks to all the contributors so far: Alex Kirk, David Decker, Dominik Schilling, Greg Ross, Pedro Mendonça, Petya Raykovska, and Sergey Biryukov.
2.1.0 (July 13, 2016)
(this space intentionally left blank)
2.1.0-rc.1 (July 7, 2016)
Bugfixes
- Allow project slugs to contain periods. (#492)
Features
- Add confirmation message when saving settings. (#490)
- Convert sort by fields from hard coded to a filterable function call. (#488
2.1.0-beta.1 (June 29, 2016)
Bugfixes
- Replace
LIKE
queries for the status of an original with an exact match. (#419) - Move
gp_translation_set_filters
hook to allow additions to the filter form. (#391) - Fix wrong error message for translations with a missing set ID. (#341)
- Fix Android exports with translation that start with an @. (#469)
- Improve performance of default
GP_Translation->for_translation()
query. (#376) - Use
__DIR__
constant forGP_PATH
. (#455) - Use lowercase field types in schema.php. (#461)
- Change field type for user IDs to
bigint(20)
. (#464) - Don't call
gp_upgrade_data()
ingp_upgrade_db()
on install. (#361) - Define max index length for
user_id_action
column. (#462)
Features
- Allow export by priority of originals. (#405)
- Check imported translations for warnings. (#401)
- Allow translations to be imported with status waiting. (#377)
- Add
Language
header to PO exports. (#428) - Add option to overwrite existing glossary when importing. (#395)
- Allow modification of accepted HTTP methods in the router. (#393)
- Update the
Project-Id-Version
header PO exports to better handle sub projects and be filterable. (#442) - Convert the permissions list to a table. (#99)
- Split translation status counts by hidden and public. (#397)
- Store user ID of validator/approver on translation status changes. (#293)
Thanks to all the contributors so far: Dominik Schilling, Greg Ross, Yoav Farhi, Alex Kirk, Anton Timmermans, Mattias Tengblad
2.0.1 (April 25, 2016)
Bugfixes
- Avoid a PHP warning when a user had made translations and the user was then deleted. (#386)
- Update all delete permission levels to be consistent in different areas of GlotPress. (#390)
- Fix the CLI export command to properly use the "status" option. (#404)
- Add upgrade script to remove trailing slashes left of project paths from 1.0 which are no longer supported. (#410)
- Fix conflict with other plugins that also use the
GP_Locales
class. (#413) - Exclude the art-xemoji locale from length check that caused spurious warnings. (#417)
Features
Thanks to all the contributors so far: Dominik Schilling, Greg Ross, and Yoav Farhi.
2.0.0 (April 04, 2016)
Bugfixes
- Delete cookies for notices on installs without a base. (#379)
- Fix "Use as name" link on translation set creation page. (#381)
2.0.0-rc.1 (March 29, 2016)
(this space intentionally left blank)
2.0.0-beta.2 (March 27, 2016)
Security
- Implement nonces for URLs and forms to help protect against several types of attacks including CSRF. (#355)
Bugfixes
- Avoid a PHP warning when updating a glossary entry. (#366)
- Improve mb_* compat functions to support all parameters and utilize WordPress' compat functions. (#364)
2.0.0-beta.1 (March 17, 2016)
Breaking Changes
- Remove Translation Propagation from core. Now available as a plugin. (#337)
- Remove user and option handling in
gp_update_meta()
/gp_delete_meta()
. (#300) - Remove deprecated
assets/img/glotpress-logo.png
. (#327) - Remove
gp_sanitize_for_url()
in favor ofsanitize_title()
for enhanced slug generation. (#330) - Improve return values of
gp_meta_update()
. (#318). - Remove CLI command
GP_CLI_WPorg2Slug
. (#347)
Features
- Make projects, translation sets, and glossaries deletable via UI. (#267)
- Update several locale definitions to use new Facebook and Google codes and correct country codes. (#246)
- Add Greenlandic, Spanish (Guatemala), and Tahitian locale definition. (#246)
- Add auto detection for format of uploaded import files. (#290)
- Add UI to manage GlotPress administrators. (#233)
- Add checkbox for case-sensitive translation searches. (#312)
- Add support for Java properties files. (#297)
- Add cancel link to import pages. (#268)
- Add warning and disable the plugin if permalinks are not set. (#218)
- Add warning and disable the plugin if unsupported version of PHP is detected. (#276)
- Add inline documentation for actions and filters. (#50)
- Add backend support to allow for integration with WordPress' user profiles. (#196)
- Introduce a separate page for settings. (#325)
- Validate slugs for translation sets on saving. (#329)
- Standardize triggers in projects, translations and originals. (#294)
- Introduce
GP_Thing::after_delete()
method and new actions. (#294) - Add .pot extension to
GP_Format_PO
. (#230) - Various code cleanups to improve code quality. (#237)
Bugfixes
- Mark Sindhi locale definition as RTL. (#243)
- Replace
current_user_can( 'manage_options' )
with GlotPress permissions. (#254) - Make child projects accessible if permalink structure has a trailing slash. (#265)
- Use real URLs for back links instead of JavaScript's history
back()
method. (#278) - Replace deprecated/private
[_]wp_specialchars()
function withhtmlspecialchars()
. (#280) - Merge similar translation strings and avoid using HTML tags in translation strings. (#295)
- Add missing
gp_
prefix for for translation actions. (#232) - Fix case where
$original->validate()
fails if singular is '0'. (#301) - Fix auto generation of project slugs with special characters. (#328)
- Suspend cache invalidation during original imports. (#332)
- Prevent submitting translations with empty plurals. (#308)
- Update schema definitions to work with WordPress'
dbDelta()
function. (#343) - Fix redirect when a translation set update failed. (#349)
- Prevent a PHP fatal error when importing originals. (#302)
Thanks to all the contributors so far: Aki Björklund, Daisuke Takahashi, Dominik Schilling, Gabor Javorszky, Greg Ross, Peter Dave Hello, Rami, and Sergey Biryukov.
1.0.2 (March 09, 2016)
Security
- Sanitize messages in
gp_notice()
.
1.0.1 (January 21, 2016)
Bugfixes
- Unslash PHP's superglobals to prevent extra slashes in translations. (#220)
- Adjust add/delete glossary entry links with trailing slashes. (#224)
1.0.0 (January 18, 2016)
- Initial release.