aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorGravatar Ed Sandor <1273949+ewsandor@users.noreply.github.com> 2020-06-19 14:59:27 -0600
committerGravatar GitHub <noreply@github.com> 2020-06-19 22:59:27 +0200
commitbaaef3d9f4bdc81224620ab2f6b92575dcf81a59 (patch)
tree01a5d21ab64d4c058fa3f92a33441c07963ec3f5 /cli
parent9489cca1e3560e20614f73e5bfc570e8b6513b4a (diff)
3041 en us localization (#3060)
* Initial locaization from international english to United States English examples: favourite -> favorite optimise -> optimize occured -> occurred labelled -> labelled ok -> okay * More spelling corrections default English occured->occurred cancelled -> canceled labelled -> labeled * Undo key spelling change * i18n format and admin.php translating * Translating admin.php * more admin.php translating * Translating conf.php * Translating feedback.php and format command * Translating gen.php * Translating index.php * Translating sub.php * Translating user.php * Translating install.php * Fix 'there is no idle feed' * FIx 'there is no feed to refresh" * Add i18n manipulation option to ignore all unmodified translation keys * Lint fixes * Update keys newly add since original branch * Revert unintenntional ru 'translation' * Code review revisions * Fix leading whitespace in ignore_unmodified api * Update app/i18n/en-us/gen.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update app/i18n/en-us/admin.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update app/i18n/en-us/admin.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update error message for Make ignore-unmodified keys to use Make syntax. (inline with 3062) Also rename ignore-unmodifed-key -> ignore-unmodified-keys * Replace makefile leading spaces with tabs * Code review revisions * Retab added php functions * Missed tab replace * Remove stray '-> todo' Co-authored-by: root <root@x-freshrss.lan.ewsandor.com> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Diffstat (limited to 'cli')
-rw-r--r--cli/i18n/I18nData.php19
-rw-r--r--cli/i18n/ignore/cz.php1
-rw-r--r--cli/i18n/ignore/de.php1
-rw-r--r--cli/i18n/ignore/en-us.php686
-rw-r--r--cli/i18n/ignore/es.php1
-rw-r--r--cli/i18n/ignore/fr.php1
-rw-r--r--cli/i18n/ignore/he.php5
-rw-r--r--cli/i18n/ignore/it.php1
-rw-r--r--cli/i18n/ignore/kr.php1
-rw-r--r--cli/i18n/ignore/nl.php1
-rw-r--r--cli/i18n/ignore/oc.php1
-rw-r--r--cli/i18n/ignore/pt-br.php1
-rw-r--r--cli/i18n/ignore/ru.php1
-rw-r--r--cli/i18n/ignore/sk.php1
-rw-r--r--cli/i18n/ignore/tr.php1
-rw-r--r--cli/i18n/ignore/zh-cn.php1
-rw-r--r--cli/manipulate.translation.php17
17 files changed, 739 insertions, 1 deletions
diff --git a/cli/i18n/I18nData.php b/cli/i18n/I18nData.php
index 5071c9be9..73a731245 100644
--- a/cli/i18n/I18nData.php
+++ b/cli/i18n/I18nData.php
@@ -229,6 +229,25 @@ class I18nData {
$this->ignore[$language][] = $key;
}
+ /**
+ *Ignore all unmodified keys from a language, or reverse it.
+ *
+ * @param string $language
+ * @param boolean $reverse
+ */
+ public function ignore_unmodified($language, $reverse = false) {
+ $my_language = $this->getLanguage($language);
+ foreach ($this->getReferenceLanguage() as $file => $ref_language) {
+ foreach ($ref_language as $key => $ref_value) {
+ if (array_key_exists($key, $my_language[$file])) {
+ if($ref_value == $my_language[$file][$key]) {
+ $this->ignore($key, $language, $reverse);
+ }
+ }
+ }
+ }
+ }
+
public function getLanguage($language) {
return $this->data[$language];
}
diff --git a/cli/i18n/ignore/cz.php b/cli/i18n/ignore/cz.php
index 1c987d8b3..4ce908b82 100644
--- a/cli/i18n/ignore/cz.php
+++ b/cli/i18n/ignore/cz.php
@@ -2,4 +2,5 @@
return array(
'gen.dir',
+ 'gen.lang.en-us',
);
diff --git a/cli/i18n/ignore/de.php b/cli/i18n/ignore/de.php
index 1c987d8b3..4ce908b82 100644
--- a/cli/i18n/ignore/de.php
+++ b/cli/i18n/ignore/de.php
@@ -2,4 +2,5 @@
return array(
'gen.dir',
+ 'gen.lang.en-us',
);
diff --git a/cli/i18n/ignore/en-us.php b/cli/i18n/ignore/en-us.php
new file mode 100644
index 000000000..bba4be829
--- /dev/null
+++ b/cli/i18n/ignore/en-us.php
@@ -0,0 +1,686 @@
+<?php
+
+return array(
+ 'admin.auth.allow_anonymous_refresh',
+ 'admin.auth.api_enabled',
+ 'admin.auth.form',
+ 'admin.auth.http',
+ 'admin.auth.none',
+ 'admin.auth.title',
+ 'admin.auth.title_reset',
+ 'admin.auth.token',
+ 'admin.auth.token_help',
+ 'admin.auth.type',
+ 'admin.auth.unsafe_autologin',
+ 'admin.check_install.categories.nok',
+ 'admin.check_install.connection.nok',
+ 'admin.check_install.ctype.nok',
+ 'admin.check_install.ctype.ok',
+ 'admin.check_install.curl.nok',
+ 'admin.check_install.curl.ok',
+ 'admin.check_install.database',
+ 'admin.check_install.dom.nok',
+ 'admin.check_install.dom.ok',
+ 'admin.check_install.entries.nok',
+ 'admin.check_install.feeds.nok',
+ 'admin.check_install.fileinfo.nok',
+ 'admin.check_install.fileinfo.ok',
+ 'admin.check_install.files',
+ 'admin.check_install.json.nok',
+ 'admin.check_install.minz.nok',
+ 'admin.check_install.minz.ok',
+ 'admin.check_install.pcre.nok',
+ 'admin.check_install.pcre.ok',
+ 'admin.check_install.pdo.nok',
+ 'admin.check_install.pdo.ok',
+ 'admin.check_install.php._',
+ 'admin.check_install.php.nok',
+ 'admin.check_install.tables.nok',
+ 'admin.check_install.tables.ok',
+ 'admin.extensions.author',
+ 'admin.extensions.community',
+ 'admin.extensions.description',
+ 'admin.extensions.disabled',
+ 'admin.extensions.empty_list',
+ 'admin.extensions.enabled',
+ 'admin.extensions.latest',
+ 'admin.extensions.name',
+ 'admin.extensions.no_configure_view',
+ 'admin.extensions.system._',
+ 'admin.extensions.title',
+ 'admin.extensions.update',
+ 'admin.extensions.user',
+ 'admin.extensions.version',
+ 'admin.stats._',
+ 'admin.stats.all_feeds',
+ 'admin.stats.category',
+ 'admin.stats.entry_count',
+ 'admin.stats.entry_per_category',
+ 'admin.stats.entry_per_day',
+ 'admin.stats.entry_per_day_of_week',
+ 'admin.stats.entry_per_hour',
+ 'admin.stats.entry_per_month',
+ 'admin.stats.entry_repartition',
+ 'admin.stats.feed',
+ 'admin.stats.feed_per_category',
+ 'admin.stats.idle',
+ 'admin.stats.main',
+ 'admin.stats.main_stream',
+ 'admin.stats.menu.idle',
+ 'admin.stats.menu.main',
+ 'admin.stats.menu.repartition',
+ 'admin.stats.number_entries',
+ 'admin.stats.percent_of_total',
+ 'admin.stats.repartition',
+ 'admin.stats.status_read',
+ 'admin.stats.status_total',
+ 'admin.stats.status_unread',
+ 'admin.stats.title',
+ 'admin.stats.top_feed',
+ 'admin.system._',
+ 'admin.system.auto-update-url',
+ 'admin.system.cookie-duration.help',
+ 'admin.system.cookie-duration.number',
+ 'admin.system.instance-name',
+ 'admin.system.registration.help',
+ 'admin.system.registration.number',
+ 'admin.update._',
+ 'admin.update.apply',
+ 'admin.update.check',
+ 'admin.update.current_version',
+ 'admin.update.last',
+ 'admin.update.none',
+ 'admin.update.title',
+ 'admin.user.admin',
+ 'admin.user.article_count',
+ 'admin.user.articles_and_size',
+ 'admin.user.back_to_manage',
+ 'admin.user.create',
+ 'admin.user.database_size',
+ 'admin.user.delete_users',
+ 'admin.user.email',
+ 'admin.user.enabled',
+ 'admin.user.feed_count',
+ 'admin.user.is_admin',
+ 'admin.user.language',
+ 'admin.user.last_user_activity',
+ 'admin.user.list',
+ 'admin.user.number',
+ 'admin.user.numbers',
+ 'admin.user.password_form',
+ 'admin.user.password_format',
+ 'admin.user.selected',
+ 'admin.user.title',
+ 'admin.user.update_users',
+ 'admin.user.user_list',
+ 'admin.user.username',
+ 'admin.user.users',
+ 'conf.archiving._',
+ 'conf.archiving.delete_after',
+ 'conf.archiving.exception',
+ 'conf.archiving.keep_labels',
+ 'conf.archiving.keep_max',
+ 'conf.archiving.keep_period',
+ 'conf.archiving.maintenance',
+ 'conf.archiving.policy',
+ 'conf.archiving.policy_warning',
+ 'conf.archiving.purge_now',
+ 'conf.archiving.title',
+ 'conf.archiving.ttl',
+ 'conf.display._',
+ 'conf.display.icon.bottom_line',
+ 'conf.display.icon.display_authors',
+ 'conf.display.icon.entry',
+ 'conf.display.icon.publication_date',
+ 'conf.display.icon.related_tags',
+ 'conf.display.icon.sharing',
+ 'conf.display.icon.top_line',
+ 'conf.display.language',
+ 'conf.display.notif_html5.seconds',
+ 'conf.display.notif_html5.timeout',
+ 'conf.display.show_nav_buttons',
+ 'conf.display.theme',
+ 'conf.display.title',
+ 'conf.display.width.content',
+ 'conf.display.width.medium',
+ 'conf.profile._',
+ 'conf.profile.api',
+ 'conf.profile.delete._',
+ 'conf.profile.delete.warn',
+ 'conf.profile.email',
+ 'conf.profile.password_api',
+ 'conf.profile.password_form',
+ 'conf.profile.password_format',
+ 'conf.profile.title',
+ 'conf.query._',
+ 'conf.query.deprecated',
+ 'conf.query.display',
+ 'conf.query.filter',
+ 'conf.query.get_all',
+ 'conf.query.get_category',
+ 'conf.query.get_feed',
+ 'conf.query.no_filter',
+ 'conf.query.none',
+ 'conf.query.number',
+ 'conf.query.order_asc',
+ 'conf.query.order_desc',
+ 'conf.query.remove',
+ 'conf.query.search',
+ 'conf.query.state_0',
+ 'conf.query.state_1',
+ 'conf.query.state_12',
+ 'conf.query.state_13',
+ 'conf.query.state_14',
+ 'conf.query.state_15',
+ 'conf.query.state_2',
+ 'conf.query.state_3',
+ 'conf.query.title',
+ 'conf.reading._',
+ 'conf.reading.after_onread',
+ 'conf.reading.always_show_favorites',
+ 'conf.reading.articles_per_page',
+ 'conf.reading.auto_remove_article',
+ 'conf.reading.confirm_enabled',
+ 'conf.reading.display_articles_unfolded',
+ 'conf.reading.display_categories_unfolded',
+ 'conf.reading.hide_read_feeds',
+ 'conf.reading.img_with_lazyload',
+ 'conf.reading.jump_next',
+ 'conf.reading.mark_updated_article_unread',
+ 'conf.reading.read.scroll',
+ 'conf.reading.read.upon_reception',
+ 'conf.reading.show._',
+ 'conf.reading.show.active_category',
+ 'conf.reading.show.adaptive',
+ 'conf.reading.show.all_articles',
+ 'conf.reading.show.all_categories',
+ 'conf.reading.show.no_category',
+ 'conf.reading.show.unread',
+ 'conf.reading.sides_close_article',
+ 'conf.reading.sort._',
+ 'conf.reading.sort.newer_first',
+ 'conf.reading.sort.older_first',
+ 'conf.reading.sticky_post',
+ 'conf.reading.title',
+ 'conf.reading.view.default',
+ 'conf.reading.view.global',
+ 'conf.reading.view.normal',
+ 'conf.reading.view.reader',
+ 'conf.sharing._',
+ 'conf.sharing.add',
+ 'conf.sharing.blogotext',
+ 'conf.sharing.diaspora',
+ 'conf.sharing.email',
+ 'conf.sharing.facebook',
+ 'conf.sharing.more_information',
+ 'conf.sharing.print',
+ 'conf.sharing.remove',
+ 'conf.sharing.shaarli',
+ 'conf.sharing.share_name',
+ 'conf.sharing.share_url',
+ 'conf.sharing.title',
+ 'conf.sharing.twitter',
+ 'conf.sharing.wallabag',
+ 'conf.shortcut._',
+ 'conf.shortcut.article_action',
+ 'conf.shortcut.auto_share',
+ 'conf.shortcut.auto_share_help',
+ 'conf.shortcut.close_dropdown',
+ 'conf.shortcut.collapse_article',
+ 'conf.shortcut.first_article',
+ 'conf.shortcut.focus_search',
+ 'conf.shortcut.global_view',
+ 'conf.shortcut.help',
+ 'conf.shortcut.javascript',
+ 'conf.shortcut.last_article',
+ 'conf.shortcut.load_more',
+ 'conf.shortcut.mark_read',
+ 'conf.shortcut.navigation',
+ 'conf.shortcut.navigation_help',
+ 'conf.shortcut.navigation_no_mod_help',
+ 'conf.shortcut.next_article',
+ 'conf.shortcut.normal_view',
+ 'conf.shortcut.other_action',
+ 'conf.shortcut.previous_article',
+ 'conf.shortcut.reading_view',
+ 'conf.shortcut.rss_view',
+ 'conf.shortcut.see_on_website',
+ 'conf.shortcut.shift_for_all_read',
+ 'conf.shortcut.skip_next_article',
+ 'conf.shortcut.skip_previous_article',
+ 'conf.shortcut.title',
+ 'conf.shortcut.toggle_media',
+ 'conf.shortcut.user_filter',
+ 'conf.shortcut.user_filter_help',
+ 'conf.shortcut.views',
+ 'conf.user.articles_and_size',
+ 'conf.user.current',
+ 'conf.user.is_admin',
+ 'conf.user.users',
+ 'feedback.access.denied',
+ 'feedback.admin.optimization_complete',
+ 'feedback.api.password.failed',
+ 'feedback.api.password.updated',
+ 'feedback.auth.form.set',
+ 'feedback.auth.login.invalid',
+ 'feedback.auth.login.success',
+ 'feedback.auth.logout.success',
+ 'feedback.auth.no_password_set',
+ 'feedback.conf.query_created',
+ 'feedback.conf.shortcuts_updated',
+ 'feedback.conf.updated',
+ 'feedback.extensions.already_enabled',
+ 'feedback.extensions.cannot_remove',
+ 'feedback.extensions.disable.ko',
+ 'feedback.extensions.disable.ok',
+ 'feedback.extensions.enable.ko',
+ 'feedback.extensions.enable.ok',
+ 'feedback.extensions.no_access',
+ 'feedback.extensions.not_enabled',
+ 'feedback.extensions.not_found',
+ 'feedback.extensions.removed',
+ 'feedback.import_export.feeds_imported',
+ 'feedback.import_export.feeds_imported_with_errors',
+ 'feedback.import_export.file_cannot_be_uploaded',
+ 'feedback.import_export.zip_error',
+ 'feedback.profile.error',
+ 'feedback.profile.updated',
+ 'feedback.sub.actualize',
+ 'feedback.sub.articles.marked_read',
+ 'feedback.sub.articles.marked_unread',
+ 'feedback.sub.category.created',
+ 'feedback.sub.category.deleted',
+ 'feedback.sub.category.emptied',
+ 'feedback.sub.category.error',
+ 'feedback.sub.category.name_exists',
+ 'feedback.sub.category.no_id',
+ 'feedback.sub.category.no_name',
+ 'feedback.sub.category.not_delete_default',
+ 'feedback.sub.category.not_exist',
+ 'feedback.sub.category.over_max',
+ 'feedback.sub.category.updated',
+ 'feedback.sub.feed.actualized',
+ 'feedback.sub.feed.actualizeds',
+ 'feedback.sub.feed.added',
+ 'feedback.sub.feed.already_subscribed',
+ 'feedback.sub.feed.cache_cleared',
+ 'feedback.sub.feed.deleted',
+ 'feedback.sub.feed.error',
+ 'feedback.sub.feed.internal_problem',
+ 'feedback.sub.feed.invalid_url',
+ 'feedback.sub.feed.n_actualized',
+ 'feedback.sub.feed.n_entries_deleted',
+ 'feedback.sub.feed.not_added',
+ 'feedback.sub.feed.not_found',
+ 'feedback.sub.feed.over_max',
+ 'feedback.sub.feed.reloaded',
+ 'feedback.sub.feed.selector_preview.http_error',
+ 'feedback.sub.feed.selector_preview.no_entries',
+ 'feedback.sub.feed.selector_preview.no_result',
+ 'feedback.sub.feed.selector_preview.selector_empty',
+ 'feedback.sub.feed.updated',
+ 'feedback.sub.purge_completed',
+ 'feedback.update.can_apply',
+ 'feedback.update.error',
+ 'feedback.update.none',
+ 'feedback.update.server_not_found',
+ 'feedback.user.created._',
+ 'feedback.user.created.error',
+ 'feedback.user.deleted._',
+ 'feedback.user.deleted.error',
+ 'feedback.user.updated._',
+ 'feedback.user.updated.error',
+ 'gen.action.actualize',
+ 'gen.action.add',
+ 'gen.action.back',
+ 'gen.action.back_to_rss_feeds',
+ 'gen.action.cancel',
+ 'gen.action.create',
+ 'gen.action.demote',
+ 'gen.action.disable',
+ 'gen.action.empty',
+ 'gen.action.enable',
+ 'gen.action.export',
+ 'gen.action.filter',
+ 'gen.action.import',
+ 'gen.action.manage',
+ 'gen.action.mark_read',
+ 'gen.action.promote',
+ 'gen.action.purge',
+ 'gen.action.remove',
+ 'gen.action.see_website',
+ 'gen.action.submit',
+ 'gen.action.truncate',
+ 'gen.action.update',
+ 'gen.auth.accept_tos',
+ 'gen.auth.email',
+ 'gen.auth.keep_logged_in',
+ 'gen.auth.login',
+ 'gen.auth.logout',
+ 'gen.auth.password._',
+ 'gen.auth.password.format',
+ 'gen.auth.registration._',
+ 'gen.auth.registration.ask',
+ 'gen.auth.registration.title',
+ 'gen.auth.reset',
+ 'gen.auth.username._',
+ 'gen.auth.username.admin',
+ 'gen.auth.username.format',
+ 'gen.date.Apr',
+ 'gen.date.Aug',
+ 'gen.date.Dec',
+ 'gen.date.Feb',
+ 'gen.date.Jan',
+ 'gen.date.Jul',
+ 'gen.date.Jun',
+ 'gen.date.Mar',
+ 'gen.date.May',
+ 'gen.date.Nov',
+ 'gen.date.Oct',
+ 'gen.date.Sep',
+ 'gen.date.apr',
+ 'gen.date.april',
+ 'gen.date.aug',
+ 'gen.date.august',
+ 'gen.date.before_yesterday',
+ 'gen.date.dec',
+ 'gen.date.december',
+ 'gen.date.feb',
+ 'gen.date.february',
+ 'gen.date.format_date',
+ 'gen.date.format_date_hour',
+ 'gen.date.fri',
+ 'gen.date.jan',
+ 'gen.date.january',
+ 'gen.date.jul',
+ 'gen.date.july',
+ 'gen.date.jun',
+ 'gen.date.june',
+ 'gen.date.last_2_year',
+ 'gen.date.last_3_month',
+ 'gen.date.last_3_year',
+ 'gen.date.last_5_year',
+ 'gen.date.last_6_month',
+ 'gen.date.last_month',
+ 'gen.date.last_week',
+ 'gen.date.last_year',
+ 'gen.date.mar',
+ 'gen.date.march',
+ 'gen.date.may',
+ 'gen.date.may_',
+ 'gen.date.mon',
+ 'gen.date.month',
+ 'gen.date.nov',
+ 'gen.date.november',
+ 'gen.date.oct',
+ 'gen.date.october',
+ 'gen.date.sat',
+ 'gen.date.sep',
+ 'gen.date.september',
+ 'gen.date.sun',
+ 'gen.date.thu',
+ 'gen.date.today',
+ 'gen.date.tue',
+ 'gen.date.wed',
+ 'gen.date.yesterday',
+ 'gen.dir',
+ 'gen.freshrss._',
+ 'gen.freshrss.about',
+ 'gen.js.category_empty',
+ 'gen.js.feedback.body_new_articles',
+ 'gen.js.feedback.title_new_articles',
+ 'gen.js.should_be_activated',
+ 'gen.lang.cz',
+ 'gen.lang.de',
+ 'gen.lang.en',
+ 'gen.lang.en-us',
+ 'gen.lang.es',
+ 'gen.lang.fr',
+ 'gen.lang.he',
+ 'gen.lang.it',
+ 'gen.lang.kr',
+ 'gen.lang.nl',
+ 'gen.lang.oc',
+ 'gen.lang.pt-br',
+ 'gen.lang.ru',
+ 'gen.lang.sk',
+ 'gen.lang.tr',
+ 'gen.lang.zh-cn',
+ 'gen.menu.about',
+ 'gen.menu.admin',
+ 'gen.menu.archiving',
+ 'gen.menu.authentication',
+ 'gen.menu.configuration',
+ 'gen.menu.display',
+ 'gen.menu.extensions',
+ 'gen.menu.logs',
+ 'gen.menu.queries',
+ 'gen.menu.reading',
+ 'gen.menu.search',
+ 'gen.menu.sharing',
+ 'gen.menu.shortcuts',
+ 'gen.menu.stats',
+ 'gen.menu.system',
+ 'gen.menu.update',
+ 'gen.menu.user_management',
+ 'gen.menu.user_profile',
+ 'gen.pagination.first',
+ 'gen.pagination.last',
+ 'gen.pagination.load_more',
+ 'gen.pagination.mark_all_read',
+ 'gen.pagination.next',
+ 'gen.pagination.nothing_to_load',
+ 'gen.pagination.previous',
+ 'gen.period.days',
+ 'gen.period.hours',
+ 'gen.period.months',
+ 'gen.period.weeks',
+ 'gen.period.years',
+ 'gen.share.Known',
+ 'gen.share.blogotext',
+ 'gen.share.diaspora',
+ 'gen.share.email',
+ 'gen.share.facebook',
+ 'gen.share.gnusocial',
+ 'gen.share.jdh',
+ 'gen.share.lemmy',
+ 'gen.share.linkedin',
+ 'gen.share.mastodon',
+ 'gen.share.movim',
+ 'gen.share.pinboard',
+ 'gen.share.pocket',
+ 'gen.share.print',
+ 'gen.share.shaarli',
+ 'gen.share.twitter',
+ 'gen.share.wallabag',
+ 'gen.share.wallabagv2',
+ 'gen.short.attention',
+ 'gen.short.blank_to_disable',
+ 'gen.short.by_author',
+ 'gen.short.by_default',
+ 'gen.short.damn',
+ 'gen.short.default_category',
+ 'gen.short.no',
+ 'gen.short.not_applicable',
+ 'gen.short.or',
+ 'gen.short.yes',
+ 'index.about._',
+ 'index.about.agpl3',
+ 'index.about.credits',
+ 'index.about.credits_content',
+ 'index.about.freshrss_description',
+ 'index.about.github',
+ 'index.about.license',
+ 'index.about.project_website',
+ 'index.about.title',
+ 'index.about.version',
+ 'index.about.website',
+ 'index.feed.rss_of',
+ 'index.feed.title',
+ 'index.feed.title_global',
+ 'index.log._',
+ 'index.log.clear',
+ 'index.log.empty',
+ 'index.log.title',
+ 'index.menu.about',
+ 'index.menu.add_query',
+ 'index.menu.before_one_day',
+ 'index.menu.before_one_week',
+ 'index.menu.global_view',
+ 'index.menu.main_stream',
+ 'index.menu.mark_all_read',
+ 'index.menu.mark_cat_read',
+ 'index.menu.mark_feed_read',
+ 'index.menu.mark_selection_unread',
+ 'index.menu.newer_first',
+ 'index.menu.normal_view',
+ 'index.menu.older_first',
+ 'index.menu.queries',
+ 'index.menu.read',
+ 'index.menu.reader_view',
+ 'index.menu.rss_view',
+ 'index.menu.search_short',
+ 'index.menu.stats',
+ 'index.menu.tags',
+ 'index.menu.unread',
+ 'index.share',
+ 'index.tag.related',
+ 'index.tos.title',
+ 'install.action.finish',
+ 'install.action.keep_install',
+ 'install.action.next_step',
+ 'install.action.reinstall',
+ 'install.auth.form',
+ 'install.auth.http',
+ 'install.auth.none',
+ 'install.auth.password_form',
+ 'install.auth.password_format',
+ 'install.auth.type',
+ 'install.bdd._',
+ 'install.bdd.conf._',
+ 'install.bdd.conf.ok',
+ 'install.bdd.host',
+ 'install.bdd.password',
+ 'install.bdd.prefix',
+ 'install.bdd.type',
+ 'install.bdd.username',
+ 'install.check._',
+ 'install.check.already_installed',
+ 'install.check.ctype.ok',
+ 'install.check.curl.nok',
+ 'install.check.curl.ok',
+ 'install.check.dom.ok',
+ 'install.check.fileinfo.nok',
+ 'install.check.fileinfo.ok',
+ 'install.check.http_referer.nok',
+ 'install.check.http_referer.ok',
+ 'install.check.mbstring.nok',
+ 'install.check.mbstring.ok',
+ 'install.check.minz.nok',
+ 'install.check.minz.ok',
+ 'install.check.pcre.ok',
+ 'install.check.pdo.nok',
+ 'install.check.pdo.ok',
+ 'install.check.xml.nok',
+ 'install.check.xml.ok',
+ 'install.conf._',
+ 'install.conf.ok',
+ 'install.congratulations',
+ 'install.default_user',
+ 'install.delete_articles_after',
+ 'install.javascript_is_better',
+ 'install.js.confirm_reinstall',
+ 'install.language._',
+ 'install.language.choose',
+ 'install.language.defined',
+ 'install.not_deleted',
+ 'install.ok',
+ 'install.step',
+ 'install.steps',
+ 'install.this_is_the_end',
+ 'install.title',
+ 'sub.add',
+ 'sub.api.documentation',
+ 'sub.api.title',
+ 'sub.bookmarklet.label',
+ 'sub.bookmarklet.title',
+ 'sub.category._',
+ 'sub.category.add',
+ 'sub.category.archiving',
+ 'sub.category.empty',
+ 'sub.category.information',
+ 'sub.category.position',
+ 'sub.category.position_help',
+ 'sub.category.title',
+ 'sub.feed.add',
+ 'sub.feed.advanced',
+ 'sub.feed.archiving',
+ 'sub.feed.auth.configuration',
+ 'sub.feed.auth.help',
+ 'sub.feed.auth.http',
+ 'sub.feed.auth.password',
+ 'sub.feed.auth.username',
+ 'sub.feed.clear_cache',
+ 'sub.feed.css_help',
+ 'sub.feed.css_path',
+ 'sub.feed.description',
+ 'sub.feed.empty',
+ 'sub.feed.error',
+ 'sub.feed.filteractions._',
+ 'sub.feed.filteractions.help',
+ 'sub.feed.information',
+ 'sub.feed.keep_min',
+ 'sub.feed.maintenance.clear_cache',
+ 'sub.feed.maintenance.clear_cache_help',
+ 'sub.feed.maintenance.reload_articles',
+ 'sub.feed.maintenance.reload_articles_help',
+ 'sub.feed.maintenance.title',
+ 'sub.feed.moved_category_deleted',
+ 'sub.feed.mute',
+ 'sub.feed.no_selected',
+ 'sub.feed.number_entries',
+ 'sub.feed.priority._',
+ 'sub.feed.priority.archived',
+ 'sub.feed.priority.main_stream',
+ 'sub.feed.priority.normal',
+ 'sub.feed.selector_preview.show_raw',
+ 'sub.feed.selector_preview.show_rendered',
+ 'sub.feed.show.all',
+ 'sub.feed.ssl_verify',
+ 'sub.feed.stats',
+ 'sub.feed.think_to_add',
+ 'sub.feed.timeout',
+ 'sub.feed.title',
+ 'sub.feed.ttl',
+ 'sub.feed.url',
+ 'sub.feed.validator',
+ 'sub.feed.website',
+ 'sub.feed.websub',
+ 'sub.firefox.documentation',
+ 'sub.firefox.obsolete_63',
+ 'sub.firefox.title',
+ 'sub.import_export.export',
+ 'sub.import_export.export_opml',
+ 'sub.import_export.feed_list',
+ 'sub.import_export.file_to_import',
+ 'sub.import_export.file_to_import_no_zip',
+ 'sub.import_export.import',
+ 'sub.import_export.title',
+ 'sub.menu.add_feed',
+ 'sub.menu.bookmark',
+ 'sub.menu.import_export',
+ 'sub.menu.subscription_tools',
+ 'sub.title.add_category',
+ 'sub.title.add_feed',
+ 'sub.title.feed_management',
+ 'sub.title.subscription_tools',
+ 'user.email.validation.change_email',
+ 'user.email.validation.feedback.email_sent',
+ 'user.email.validation.need_to',
+ 'user.email.validation.resend_email',
+ 'user.email.validation.title',
+ 'user.mailer.email_need_validation.title',
+ 'user.mailer.email_need_validation.welcome',
+ 'user.password.invalid',
+ 'user.tos.feedback.invalid',
+);
diff --git a/cli/i18n/ignore/es.php b/cli/i18n/ignore/es.php
index f6684fd81..63f2ac2c4 100644
--- a/cli/i18n/ignore/es.php
+++ b/cli/i18n/ignore/es.php
@@ -5,6 +5,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/fr.php b/cli/i18n/ignore/fr.php
index a2718b625..ec792d576 100644
--- a/cli/i18n/ignore/fr.php
+++ b/cli/i18n/ignore/fr.php
@@ -23,6 +23,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/he.php b/cli/i18n/ignore/he.php
new file mode 100644
index 000000000..7c0351294
--- /dev/null
+++ b/cli/i18n/ignore/he.php
@@ -0,0 +1,5 @@
+<?php
+
+return array(
+ 'gen.lang.en-us',
+);
diff --git a/cli/i18n/ignore/it.php b/cli/i18n/ignore/it.php
index 1c987d8b3..4ce908b82 100644
--- a/cli/i18n/ignore/it.php
+++ b/cli/i18n/ignore/it.php
@@ -2,4 +2,5 @@
return array(
'gen.dir',
+ 'gen.lang.en-us',
);
diff --git a/cli/i18n/ignore/kr.php b/cli/i18n/ignore/kr.php
index 184c94b98..fd563bd59 100644
--- a/cli/i18n/ignore/kr.php
+++ b/cli/i18n/ignore/kr.php
@@ -24,6 +24,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/nl.php b/cli/i18n/ignore/nl.php
index 5a14f1317..40aec065b 100644
--- a/cli/i18n/ignore/nl.php
+++ b/cli/i18n/ignore/nl.php
@@ -21,6 +21,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/oc.php b/cli/i18n/ignore/oc.php
index facb78702..71e89749b 100644
--- a/cli/i18n/ignore/oc.php
+++ b/cli/i18n/ignore/oc.php
@@ -23,6 +23,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/pt-br.php b/cli/i18n/ignore/pt-br.php
index 7721d23b6..228b1ad78 100644
--- a/cli/i18n/ignore/pt-br.php
+++ b/cli/i18n/ignore/pt-br.php
@@ -17,6 +17,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/ru.php b/cli/i18n/ignore/ru.php
index 1c987d8b3..4ce908b82 100644
--- a/cli/i18n/ignore/ru.php
+++ b/cli/i18n/ignore/ru.php
@@ -2,4 +2,5 @@
return array(
'gen.dir',
+ 'gen.lang.en-us',
);
diff --git a/cli/i18n/ignore/sk.php b/cli/i18n/ignore/sk.php
index 66940c758..5769f3f01 100644
--- a/cli/i18n/ignore/sk.php
+++ b/cli/i18n/ignore/sk.php
@@ -32,6 +32,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/i18n/ignore/tr.php b/cli/i18n/ignore/tr.php
index 1c987d8b3..4ce908b82 100644
--- a/cli/i18n/ignore/tr.php
+++ b/cli/i18n/ignore/tr.php
@@ -2,4 +2,5 @@
return array(
'gen.dir',
+ 'gen.lang.en-us',
);
diff --git a/cli/i18n/ignore/zh-cn.php b/cli/i18n/ignore/zh-cn.php
index e687a3de9..fa6071106 100644
--- a/cli/i18n/ignore/zh-cn.php
+++ b/cli/i18n/ignore/zh-cn.php
@@ -13,6 +13,7 @@ return array(
'gen.lang.cz',
'gen.lang.de',
'gen.lang.en',
+ 'gen.lang.en-us',
'gen.lang.es',
'gen.lang.fr',
'gen.lang.he',
diff --git a/cli/manipulate.translation.php b/cli/manipulate.translation.php
index b5c37d147..5ccbaa664 100644
--- a/cli/manipulate.translation.php
+++ b/cli/manipulate.translation.php
@@ -66,6 +66,14 @@ switch ($options['a']) {
exit;
}
break;
+ case 'ignore_unmodified' :
+ if (array_key_exists('l', $options)) {
+ $i18nData->ignore_unmodified($options['l'], array_key_exists('r', $options));
+ } else {
+ error('You need to specify a valid set of options.');
+ exit;
+ }
+ break;
default :
help();
exit;
@@ -133,8 +141,15 @@ Exemple 6: ignore a key. It adds the key in the ignore file to mark it as transl
Exemple 7: revert ignore a key. It removes the key from the ignore file.
php %1\$s -a ignore -r -k my_key -l my_lang
-Exemple 8: check if a key exist.
+Exemple 8: ignore all unmodified keys. It adds all modified keys in the ignore file to mark it as translated.
+ php %1\$s -a ignore_unmodified -l my_lang
+
+Exemple 9: revert ignore of all unmodified keys. It removes the unmodified keys from the ignore file. Warning, this will also revert keys added individually.
+ php %1\$s -a ignore_unmodified -r -l my_lang
+
+Exemple 10: check if a key exist.
php %1\$s -a exist -k my_key\n\n
+
HELP;
$file = str_replace(__DIR__ . '/', '', __FILE__);
echo sprintf($help, $file);