mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	compose_closed_ui: Unify translation strings for reply button label.
This commit unifies translation strings for reply button label to reduce translation effort. Both the `has_empty_string_topic` and other cases now use a single "Message <z-recipient-label></z-recipient-label>"`, with dynamic content passed appropriately.
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							181572021d
						
					
				
				
					commit
					3706940df6
				
			@@ -1,7 +1,9 @@
 | 
			
		||||
import $ from "jquery";
 | 
			
		||||
 | 
			
		||||
import render_reply_recipient_label from "../templates/reply_recipient_label.hbs";
 | 
			
		||||
 | 
			
		||||
import * as compose_actions from "./compose_actions.ts";
 | 
			
		||||
import {$t, $t_html} from "./i18n.ts";
 | 
			
		||||
import {$t} from "./i18n.ts";
 | 
			
		||||
import * as message_lists from "./message_lists.ts";
 | 
			
		||||
import * as message_store from "./message_store.ts";
 | 
			
		||||
import * as message_util from "./message_util.ts";
 | 
			
		||||
@@ -172,24 +174,14 @@ export function set_standard_text_for_reply_button(): void {
 | 
			
		||||
export function update_reply_recipient_label(message?: ComposeClosedMessage): void {
 | 
			
		||||
    const recipient_label = get_recipient_label(message);
 | 
			
		||||
    if (recipient_label !== undefined) {
 | 
			
		||||
        if (!recipient_label.has_empty_string_topic) {
 | 
			
		||||
            const recipient_label_text = recipient_label.label_text;
 | 
			
		||||
            set_reply_button_label(
 | 
			
		||||
                $t({defaultMessage: "Message {recipient_label_text}"}, {recipient_label_text}),
 | 
			
		||||
            );
 | 
			
		||||
        } else {
 | 
			
		||||
            const topic_display_name = util.get_final_topic_display_name("");
 | 
			
		||||
            const recipient_label_html = $t_html(
 | 
			
		||||
                {
 | 
			
		||||
                    defaultMessage: "Message <z-recipient-label></z-recipient-label>",
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "z-recipient-label": () =>
 | 
			
		||||
                        `#${recipient_label.stream_name} > <span class="empty-topic-display">${topic_display_name}</span>`,
 | 
			
		||||
                },
 | 
			
		||||
            );
 | 
			
		||||
            $("#left_bar_compose_reply_button_big").html(recipient_label_html);
 | 
			
		||||
        }
 | 
			
		||||
        const empty_string_topic_display_name = util.get_final_topic_display_name("");
 | 
			
		||||
        const rendered_recipient_label = render_reply_recipient_label({
 | 
			
		||||
            has_empty_string_topic: recipient_label.has_empty_string_topic,
 | 
			
		||||
            channel_name: recipient_label.stream_name,
 | 
			
		||||
            empty_string_topic_display_name,
 | 
			
		||||
            label_text: recipient_label.label_text,
 | 
			
		||||
        });
 | 
			
		||||
        $("#left_bar_compose_reply_button_big").html(rendered_recipient_label);
 | 
			
		||||
    } else {
 | 
			
		||||
        set_standard_text_for_reply_button();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								web/templates/reply_recipient_label.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								web/templates/reply_recipient_label.hbs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{{#tr}}
 | 
			
		||||
    Message <z-recipient-label></z-recipient-label>
 | 
			
		||||
    {{#*inline "z-recipient-label"}}
 | 
			
		||||
        {{#if has_empty_string_topic~}}
 | 
			
		||||
        #{{channel_name}} > <span class="empty-topic-display">{{empty_string_topic_display_name}}</span>
 | 
			
		||||
        {{~else~}}
 | 
			
		||||
        {{label_text}}
 | 
			
		||||
        {{~/if}}
 | 
			
		||||
    {{~/inline}}
 | 
			
		||||
{{/tr}}
 | 
			
		||||
@@ -38,8 +38,8 @@ set_realm({realm_empty_topic_display_name: REALM_EMPTY_TOPIC_DISPLAY_NAME});
 | 
			
		||||
 | 
			
		||||
// Helper test function
 | 
			
		||||
function test_reply_label(expected_label) {
 | 
			
		||||
    const label = $("#left_bar_compose_reply_button_big").text();
 | 
			
		||||
    const prepend_text_length = "translated: Message ".length;
 | 
			
		||||
    const label = $("#left_bar_compose_reply_button_big").html();
 | 
			
		||||
    const prepend_text_length = "Message ".length;
 | 
			
		||||
    assert.equal(
 | 
			
		||||
        label.slice(prepend_text_length),
 | 
			
		||||
        expected_label,
 | 
			
		||||
@@ -111,10 +111,10 @@ run_test("reply_label", () => {
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    const expected_labels = [
 | 
			
		||||
        "#first_stream > first_topic",
 | 
			
		||||
        "#first_stream > second_topic",
 | 
			
		||||
        "#second_stream > third_topic",
 | 
			
		||||
        "#second_stream > second_topic",
 | 
			
		||||
        "#first_stream > first_topic",
 | 
			
		||||
        "#first_stream > second_topic",
 | 
			
		||||
        "#second_stream > third_topic",
 | 
			
		||||
        "#second_stream > second_topic",
 | 
			
		||||
        "some user",
 | 
			
		||||
        "some user, other user",
 | 
			
		||||
    ];
 | 
			
		||||
@@ -138,7 +138,7 @@ run_test("reply_label", () => {
 | 
			
		||||
    list.select_id(list.next());
 | 
			
		||||
    const label_html = $("#left_bar_compose_reply_button_big").html();
 | 
			
		||||
    assert.equal(
 | 
			
		||||
        `translated HTML: Message #second_stream > <span class="empty-topic-display">translated: ${REALM_EMPTY_TOPIC_DISPLAY_NAME}</span>`,
 | 
			
		||||
        `Message #second_stream > <span class="empty-topic-display">translated: ${REALM_EMPTY_TOPIC_DISPLAY_NAME}</span>`,
 | 
			
		||||
        label_html,
 | 
			
		||||
    );
 | 
			
		||||
});
 | 
			
		||||
@@ -154,7 +154,7 @@ run_test("test_custom_message_input", () => {
 | 
			
		||||
        stream_id: stream.stream_id,
 | 
			
		||||
        topic: "topic test",
 | 
			
		||||
    });
 | 
			
		||||
    test_reply_label("#stream test > topic test");
 | 
			
		||||
    test_reply_label("#stream test > topic test");
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
run_test("empty_narrow", () => {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user