0

理解できないコードがいくつかあります。見れば見るほど迷う。

js 関数に渡される 2 つの日付値と言語コードがあります。次に、django 言語タグとやり取りして正しい値を割り当てる django コレクション (と思います!) があります。

これを正しく設定したと思っていましたが、コードが機能しておらず、どこが間違っているかを知るのに十分な経験がないため、その理由がわかりません。

(最後の行に示されているように)names.month を呼び出そうとするとエラーが発生するので、name_map コードまたは lc と LANGUAGE_CODES の変数の割り当てに誤りがあると思います。

渡される値は次のとおりです。

date1: 2000 年 10 月;

date2: 2004 年 12 月;

dynamic_language_code: de;

どんな提案も素晴らしいでしょう。

function dateCalculation(date1, date2, dynamic_language_code) {

//this function will accept two dates (format: mm/yyyy) and calculate the difference between the 2 dates and display the difference as x months or x years, x months.

var a = date1;
var b = date2;
var lc = dynamic_language_code;
var LANGUAGE_CODES = 'ar, zh-CN, zh-TW, en-GB, en, fr, fr-CA, de, it, pl, pt, pt-BR, ru, es-419, es';

var name_map = {
    {% for lc in LANGUAGE_CODES %}
        {{ lc }}: {
            month: "{% language lc %}{% trans 'month' %}{% endlanguage %}",
            months: "{% language lc %}{% trans 'months' %}{% endlanguage %}",
            year: "{% language lc %}{% trans 'year' %}{% endlanguage %}",
            years: "{% language lc %}{% trans 'years' %}{% endlanguage %}"
        } {% if not forloop.last %},{% endif %}
    {% endfor %}
}
names = name_map[lc];
if(names === undefined) { names = name_map['en']; }

....
time_span = total_months + " " + names.month;
....
4

1 に答える 1