外掛說明
許多開放原始碼專案需要跨地區/國家、語言並提供各種類型的翻譯 (例如介面及程式說明),GlotPress 可以協助這類專案開發者與譯者進行線上協同作業,以確保使用者能夠在應用程式中使用他們母語的介面。
GlotPress 有兩個版本,一個是獨立版本,另一個則是本頁的 WordPress 外掛版本。目前這兩個版本在功能上非常相似,但未來的外掛版本可能會脫離獨立版本自行發展。本頁接下來所提及的「GlotPress」,均指外掛版本。
如需更多 GlotPress 的相關資訊,請造訪列於 [溝通交流] 區段中的連結。
誰該使用 GlotPress?
任何開發可用 gettext 擷取介面字串軟體的開發人員,例如 WordPress 佈景主題或外掛的開發者。這僅僅是個開始,任何使用基於 gettext 系統的開發者,都可以採用 GlotPress 協助譯者進行協同作業。
如果沒有大家過往對 GlotPress 獨立版本的努力奉獻,GlotPress 外掛版本便無法誕生,在此對所有有貢獻的人致上謝意。
技術支援
一般技術支援問題,請於 WordPress.org 的 GlotPress 技術支援論壇提出。
如果你發現程式碼錯誤或有新功能需求,請發表於這份 Issue (問題) 清單,以便將來改進。
如果你發現程式碼錯誤或有新功能需求,且目前在 GitHub 上沒有相關的 Issue,請在你開始撰寫新程式碼前,先提出新的 Issue 並說明你想要進行的修改。
溝通交流
- GitHub 專案首頁
- GlotPress 部落格
- WordPress Slack:#glotpress (僅供開發用途使用)
安裝方式
在 WordPress.org 外掛目錄中搜尋 GlotPress 並加以安裝。
啟用外掛後,透過 <home_url>/glotpress/ 便可存取 GlotPress 的功能。
手動安裝
- 將完整的
/glotpress資料夾上傳到/wp-content/plugins/目錄中。 - 透過 WordPress 的 [外掛] 選單啟用 GlotPress。
- 透過
<home_url>/glotpress/便可存取 GlotPress 的功能。
更多資訊
在《GlotPress 使用手冊》(英文) 頁面可以取得更多詳細資訊。
常見問題集
-
如何為 GlotPress 做出貢獻?
-
前往 GlotPress 的 GitHub 版本庫,查看尚未解決的 Issue (問題) 及 Pull Request。
-
誰該使用 GlotPress?
-
任何開發可用 gettext 擷取介面字串軟體的開發人員,例如 WordPress 佈景主題或外掛的開發者。這僅僅是個開始,任何使用基於 gettext 系統的開發者,都可以採用 GlotPress 協助譯者進行協同作業。
-
如何將 GlotPress 獨立版本遷移至 WordPress 外掛版本?
-
請參閱 GlotPress Wiki 上關於如何轉換獨立版本安裝的文件。
-
我為 GlotPress 的獨立版本版本開發了自訂外掛,這個自訂外掛可以執行於 GlotPress 外掛版本嗎?
-
簡而言之,不行。
你必須將 GlotPress 獨立版本的自訂外掛改寫為 WordPress 外掛。在 GlotPress Wiki 中可取得如何轉換外掛的相關指示。
使用者評論
參與者及開發者
以下人員參與了開源軟體〈GlotPress〉的開發相關工作。
參與者-
A5hleyRich
-
Aki Björklund
-
Alex Kirk
-
Anton Timmermans
-
Brad Touesnard
-
Chantal Coolsma
-
Mattias Tengblad
-
David Decker
-
Daisuke Takahashi
-
Gilbert Pellegrom
-
Greg Ross
-
javorszky
-
Andrew Nacin
-
Nikhil Chavan
-
Dominik Schilling
-
Pedro Mendonça
-
Petya Raykovska
-
Iain Poulson
-
Rami Yushuvaev
-
Ryan McCue
-
Samuel Sidler
-
Sergey Biryukov
-
Pascal Birchler
-
Yoav Farhi
變更記錄
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
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_prefixfilter 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
fuzzytowaitingif 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
kytokir. (#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_urlfilter 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
LIKEqueries for the status of an original with an exact match. (#419) - Move
gp_translation_set_filtershook 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_actioncolumn. (#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
Languageheader 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-Versionheader 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_Localesclass. (#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.