0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-09 19:36:44 +08:00
discourse/plugins/discourse-adplugin/config/locales/server.en.yml
Régis Hanol 8b03a42cd7
DEV: Linkify site setting references in descriptions (#40338)
Site setting descriptions frequently mention other settings, but the
YAML had no consistent convention. The same reference appeared in at
least four styles -- `foo` in backticks, 'foo' in single quotes,
'humanized name' in single quotes, or just `bare_snake_case` -- and none
of them rendered as a link the admin could click to jump to the
referenced setting.

Introduce a compact marker, `{{setting:foo}}`, and expand it in
`SiteSettings::LabelFormatter.description`. The marker resolves to a
linkified anchor pointing at
`/admin/site_settings/category/all_results?filter=foo`, with the
humanized setting name as the visible label. Wiring the expansion at the
description seam (rather than in the I18n freedom patch) keeps the
change surgical: no impact on `I18n.t` for unrelated translations, no
`html_safe` plumbing changes in the JSON error pipeline.

Migrate ~67 references in `config/locales/server.en.yml` to the new
marker, covering every flavour of inconsistency found by two sweeps
(snake_case identifiers and quoted humanized names). The sweep also
turned up a stale reference: `enable_linkedin_oidc_logins` described
`linkedin_client_id`/`linkedin_client_secret`, which were renamed to
`linkedin_oidc_client_id`/`linkedin_oidc_client_secret` years ago.

Teach `script/i18n_lint.rb` to whitelist the new marker -- previously
any `{{...}}` was flagged as an accidental Handlebars-style mistake.
Reset the `label a` margin inherited from `discourse.scss` inside
`.setting-value`, so the linkified anchors sit flush against surrounding
text in checkbox-label descriptions.

Ref - t/148687

**BEFORE**

<img width="1594" height="1279" alt="2026-05-27 @ 14 27 33"
src="https://github.com/user-attachments/assets/aeaf2ee3-ce8c-484c-805d-cec9298f068b"
/>

**AFTER**

<img width="1594" height="1279" alt="2026-05-27 @ 14 25 32"
src="https://github.com/user-attachments/assets/bbead088-6f80-4903-b320-31b87d821428"
/>
2026-06-01 10:31:18 +02:00

143 lines
13 KiB
YAML
Executable file
Vendored

en:
reports:
ad_plugin_house_ads_performance:
title: Adplugin House Ads impressions
description: "House Ads impressions report"
ad_plugin_ad_impressions:
title: Adplugin Ad impressions
description: "Ads impressions report"
ad_plugin_impressions_by_user:
title: Ad Plugin Impressions by User
description: "Ad impressions grouped by user"
ad_plugin_click_through_rate:
title: Adplugin conversion performance
description: "Ad performance report by ad and placement"
ad_plugin_click_through_rate_by_placement:
title: Adplugin performance by placement
description: "Ad performance report by placement"
ad_plugin_click_through_rate_by_ad_type:
title: Adplugin performance by ad type
description: "Ad performance report by ad type"
errors:
already_clicked: "Click already recorded"
site_settings:
discourse_adplugin_enabled: Enable the discourse-adplugin.
no_ads_for_personal_messages: "Don't show ads when viewing personal messages"
no_ads_for_restricted_categories: "Don't show ads in categories that aren't visible to everyone."
no_ads_for_groups: "Don't show ads to users in these groups."
no_ads_for_categories: "Don't show ads on topic list and topic pages belonging to these categories."
no_ads_for_tags: "Don't show ads on topic list and topic pages belonging to these tags."
house_ads_after_nth_topic: 'If "Between topics" house ads are defined, show an ad after every N topic, where N is this value.'
house_ads_after_nth_post: 'If "Between posts" house ads are defined, show an ad after every N posts, where N is this value.'
house_ads_after_nth_root: 'If "Between nested roots" house ads are defined, show an ad after every N root replies in the nested replies view, where N is this value.'
house_ads_frequency: "If other ad networks are configured to show in an ad slot, how often should house ads be shown, as a percentage."
ads_txt: "Contents of your ads.txt file. More details available at <a href='https://support.google.com/adsense/answer/7532444?hl=en' target='_blank'>this Google AdSense help page</a>."
ad_plugin_routes_enabled: "Enable route targeting for house ads"
dfp_publisher_id: "Input your Google Ad Manager (formerly called DFP) network code, which is found in your network settings. NOTE: You will need to update the {{setting:content_security_policy_script_src}} setting. See <a href='https://meta.discourse.org/t/33734' target='_blank'>this topic</a> for the latest instructions."
dfp_publisher_id_mobile: "(Optional) If you want to use a different Ad Manager publisher id for the mobile version of the site, enter it here. Leave blank to use dfp_publisher_id on mobile."
dfp_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads."
dfp_exclude_groups: "Ads will not be shown to members of these groups"
dfp_topic_list_top_code: "Enter the unique Code of the ad unit to display above topic lists. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_topic_list_top_ad_sizes: "Choose your ad size for the ad unit above topic lists."
dfp_mobile_topic_list_top_code: "Enter the unique Code of the ad unit to display above topic lists on mobile view. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_mobile_topic_list_top_ad_sizes: "Choose your ad size for the ad unit above topic lists on mobile view."
dfp_target_topic_list_top_key_code: "Input custom targeting keys - inventory Level"
dfp_target_topic_list_top_value_code: "Input custom targeting values - inventory Level"
dfp_topic_above_post_stream_code: "Enter the unique Code of the ad unit to display above the title of a topic on the topic page. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_topic_above_post_stream_ad_sizes: "Choose your ad size for the ad unit at the top of the topic page."
dfp_mobile_topic_above_post_stream_code: "Enter the unique Code of the ad unit to display above the title of a topic on the topic page on mobile view. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_mobile_topic_above_post_stream_ad_sizes: "Choose your ad size for the ad unit at the top of the topic page on mobile view."
dfp_target_topic_above_post_stream_key_code: "Input custom targeting keys - inventory Level"
dfp_target_topic_above_post_stream_value_code: "Input custom targeting values - inventory Level"
dfp_topic_above_suggested_code: "Enter the unique Code of the ad unit to display after the last post in a topic, above the suggested topics. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_topic_above_suggested_ad_sizes: "Choose your ad size for the ad unit after the last post in a topic."
dfp_mobile_topic_above_suggested_code: "Enter the unique Code of the ad unit to display after the last post in a topic, above the suggested topics on mobile view. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_mobile_topic_above_suggested_ad_sizes: "Choose your ad size for the ad unit after the last post in a topic on mobile view."
dfp_target_topic_above_suggested_key_code: "Input custom targeting keys - inventory Level"
dfp_target_topic_above_suggested_value_code: "Input custom targeting values - inventory Level"
dfp_nth_post_code: "Show an ad after every N posts, where N is this value."
dfp_post_bottom_code: "Enter the unique Code of the ad unit to display in between posts after every nth post. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_post_bottom_ad_sizes: "Choose your ad size for the ad unit shown in between posts."
dfp_mobile_post_bottom_code: "Enter the unique Code of the ad unit to display in between posts after every nth post on mobile view. This is the short code (max 100 chars) given to the ad unit when it was created, not the JavaScript code."
dfp_mobile_post_bottom_ad_sizes: "Choose your ad size for the ad unit shown in between posts on mobile view."
dfp_target_post_bottom_key_code: "Input custom targeting keys - inventory Level"
dfp_target_post_bottom_value_code: "Input custom targeting values - inventory Level"
adsense_publisher_code: "Your publisher ID. Enter only the number, excluding 'pub-'. NOTE: You will need to update the {{setting:content_security_policy_script_src}} setting. See <a href='https://meta.discourse.org/t/33734' target='_blank'>this topic</a> for the latest instructions."
adsense_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads."
adsense_exclude_groups: "Ads will not be shown to members of these groups"
adsense_topic_list_top_code: "Enter code of the ad unit to display at topic list top location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_mobile_topic_list_top_code: "Enter code of the ad unit to display mobile ads at topic list top location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_topic_list_top_ad_sizes: "Choose your ad size"
adsense_mobile_topic_list_top_ad_size: "Choose your ad size"
adsense_topic_above_post_stream_code: "Enter code of the ad unit to display at topic above post stream location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_mobile_topic_above_post_stream_code: "Enter code of the ad unit to display mobile ads at topic above post stream location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_topic_above_post_stream_ad_sizes: "Choose your ad size"
adsense_mobile_topic_above_post_stream_ad_size: "Choose your ad size"
adsense_topic_above_suggested_code: "Enter code of the ad unit to display at topic above suggested location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_mobile_topic_above_suggested_code: "Enter code of the ad unit to display mobile ads at topic above suggested location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_topic_above_suggested_ad_sizes: "Choose your ad size"
adsense_mobile_topic_above_suggested_ad_size: "Choose your ad size"
adsense_post_bottom_code: "Enter code of the ad unit to display ads at post bottom location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_mobile_post_bottom_code: "Enter code of the ad unit to display mobile ads at post bottom location. This is the number assigned to the ad unit, not the JavaScript code."
adsense_post_bottom_ad_sizes: "Choose your ad size"
adsense_mobile_post_bottom_ad_size: "Choose your ad size"
adsense_nth_post_code: "Show an ad after every N posts, where N is this value."
amazon_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads."
amazon_exclude_groups: "Ads will not be shown to members of these groups"
amazon_topic_list_top_src_code: "Enter src code to display at topic list top location"
amazon_topic_list_top_ad_width_code: "Input your ad width"
amazon_topic_list_top_ad_height_code: "Input your ad height"
amazon_mobile_topic_list_top_src_code: "Enter src code to display mobile ads at topic list top location"
amazon_mobile_topic_list_top_ad_width_code: "Input your ad width (mobile)"
amazon_mobile_topic_list_top_ad_height_code: "Input your ad height (mobile)"
amazon_topic_above_post_stream_src_code: "Enter src code to display at topic above post stream"
amazon_topic_above_post_stream_ad_width_code: "Input your ad width"
amazon_topic_above_post_stream_ad_height_code: "Input your ad height"
amazon_mobile_topic_above_post_stream_src_code: "Enter src code to display mobile ads at topic above post stream"
amazon_mobile_topic_above_post_stream_ad_width_code: "Input your ad width (mobile)"
amazon_mobile_topic_above_post_stream_ad_height_code: "Input your ad height (mobile)"
amazon_topic_above_suggested_src_code: "Enter src code to display at topic above suggested"
amazon_topic_above_suggested_ad_width_code: "Input your ad width"
amazon_topic_above_suggested_ad_height_code: "Input your ad height"
amazon_mobile_topic_above_suggested_src_code: "Enter src code to display mobile ads at topic above suggested"
amazon_mobile_topic_above_suggested_ad_width_code: "Input your ad width (mobile)"
amazon_mobile_topic_above_suggested_ad_height_code: "Input your ad height (mobile)"
amazon_post_bottom_src_code: "Enter src code to display at post bottom"
amazon_post_bottom_ad_width_code: "Input your ad width"
amazon_post_bottom_ad_height_code: "Input your ad height"
amazon_mobile_post_bottom_src_code: "Enter src code to display mobile ads at post bottom"
amazon_mobile_post_bottom_ad_width_code: "Input your ad width (mobile)"
amazon_mobile_post_bottom_ad_height_code: "Input your ad height (mobile)"
amazon_nth_post_code: "Show an ad after every N posts, where N is this value."
carbonads_serve_id: "Your Carbon Ads Serve ID"
carbonads_placement: "Your Carbon Ads Placement"
carbonads_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads."
carbonads_exclude_groups: "Ads will not be shown to members of these groups"
carbonads_topic_list_top_enabled: "Show an ad above the topic list"
carbonads_above_post_stream_enabled: "Show an ad above the post stream"
adbutler_publisher_id: "AdButler Publisher ID. NOTE: You may need to update the {{setting:content_security_policy_script_src}} setting. See <a href='https://meta.discourse.org/t/33734' target='_blank'>this topic</a> for the latest instructions."
adbutler_mobile_topic_list_top_zone_id: "Zone ID for mobile topic list top location"
adbutler_mobile_topic_above_post_stream_zone_id: "Zone ID for mobile topic above post stream location"
adbutler_mobile_post_bottom_zone_id: "Zone ID for mobile post bottom location"
adbutler_mobile_topic_above_suggested_zone_id: "Zone ID for mobile topic above suggested location"
adbutler_topic_list_top_zone_id: "Zone ID for topic list top location"
adbutler_topic_above_post_stream_zone_id: "Zone ID for topic above post stream location"
adbutler_post_bottom_zone_id: "Zone ID for post bottom location"
adbutler_topic_above_suggested_zone_id: "Zone ID for topic above suggested location"
adbutler_nth_post: "Show an ad after every N posts, where N is this value"
adbutler_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads"
adbutler_exclude_groups: "Ads will not be shown to members of these groups"
adbutler_adserver_hostname: "The hostname that AdButler is serving your ads from"