change logic into asking for loading confirmation
also: - fixes #1039 - email buttons overlapping in some languages - fixes #1191 - language change URL mangling - adds focus to password input in modal - prevents needless reload on visiting default URL
This commit is contained in:
parent
2a508cb7bf
commit
d0e03e5167
38 changed files with 196 additions and 150 deletions
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "عنوان IP الخاص بك غير مصرح له بإنشاء لصُق.",
|
"Your IP is not authorized to create pastes.": "عنوان IP الخاص بك غير مصرح له بإنشاء لصُق.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "محاولة تقصير عنوان URL لا يشير إلى خادمنا.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "محاولة تقصير عنوان URL لا يشير إلى خادمنا.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "خطأ في الاتصال بـ YOURLS. ربما تكون هناك مشكلة في التضبيط، مثل \"apiurl\" أو \"التوقيع\" الخاطئ أو المفقود.",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "خطأ في الاتصال بـ YOURLS. ربما تكون هناك مشكلة في التضبيط، مثل \"apiurl\" أو \"التوقيع\" الخاطئ أو المفقود.",
|
||||||
"Error parsing YOURLS response.": "خطأ في تحليل استجابة YOURLS."
|
"Error parsing YOURLS response.": "خطأ في تحليل استجابة YOURLS.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "U vostru indirizzu IP ùn hè micca auturizatu à creà l’appiccichi.",
|
"Your IP is not authorized to create pastes.": "U vostru indirizzu IP ùn hè micca auturizatu à creà l’appiccichi.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Pruvate d’ammuzzà un indirizzu web chì ùn punta micca versu a vostra instanza.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Pruvate d’ammuzzà un indirizzu web chì ùn punta micca versu a vostra instanza.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Sbagliu à a chjama di YOURLS. Seria forse una cunfigurazione gattiva, tale una \"apiurl\" o \"signature\" falsa o assente.",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Sbagliu à a chjama di YOURLS. Seria forse una cunfigurazione gattiva, tale una \"apiurl\" o \"signature\" falsa o assente.",
|
||||||
"Error parsing YOURLS response.": "Sbagliu durante l’analisa di a risposta di YOURLS."
|
"Error parsing YOURLS response.": "Sbagliu durante l’analisa di a risposta di YOURLS.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
|
"Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Deine IP ist nicht berechtigt, Texte zu erstellen.",
|
"Your IP is not authorized to create pastes.": "Deine IP ist nicht berechtigt, Texte zu erstellen.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Versuch eine URL zu verkürzen, die nicht auf unsere Instanz zeigt.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Versuch eine URL zu verkürzen, die nicht auf unsere Instanz zeigt.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Fehler beim Aufruf von YOURLS. Wahrscheinlich ein Konfigurationsproblem, wie eine falsche oder fehlende \"apiurl\" oder \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Fehler beim Aufruf von YOURLS. Wahrscheinlich ein Konfigurationsproblem, wie eine falsche oder fehlende \"apiurl\" oder \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Fehler beim Verarbeiten der YOURLS-Antwort."
|
"Error parsing YOURLS response.": "Fehler beim Verarbeiten der YOURLS-Antwort.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Η IP σας δεν επιτρέπεται να δημιουργεί επικολλήσεις.",
|
"Your IP is not authorized to create pastes.": "Η IP σας δεν επιτρέπεται να δημιουργεί επικολλήσεις.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Tu IP no está autorizada para crear contenido.",
|
"Your IP is not authorized to create pastes.": "Tu IP no está autorizada para crear contenido.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Intentando acortar una URL que no apunta a nuestra instancia.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Intentando acortar una URL que no apunta a nuestra instancia.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "IP:llesi ei ole annettu oikeutta luoda pasteja.",
|
"Your IP is not authorized to create pastes.": "IP:llesi ei ole annettu oikeutta luoda pasteja.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Yritetään lyhentää URL-osoite, joka ei osoita meidän instanssiiin.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Yritetään lyhentää URL-osoite, joka ei osoita meidän instanssiiin.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Virhe kutsuttaessa YOURLS. Luultavasti asetusongelma kuten väärä tai puuttuuva \"apiurl\" tai \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Virhe kutsuttaessa YOURLS. Luultavasti asetusongelma kuten väärä tai puuttuuva \"apiurl\" tai \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Virhe jäsennettäessä YOURLS-vastausta."
|
"Error parsing YOURLS response.": "Virhe jäsennettäessä YOURLS-vastausta.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Votre adresse IP n'est pas autorisée à créer des pastes.",
|
"Your IP is not authorized to create pastes.": "Votre adresse IP n'est pas autorisée à créer des pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Il tuo IP non è autorizzato a creare dei messaggi.",
|
"Your IP is not authorized to create pastes.": "Il tuo IP non è autorizzato a creare dei messaggi.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Tantativo in corso di accorciare un URL che non punta alla nostra istanza.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Tantativo in corso di accorciare un URL che non punta alla nostra istanza.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Errore nella chiamata a YOURLS. Probabilmente un problema di configurazione, come un \"apiurl\" o una \"signature\" sbagliati o mancanti.",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Errore nella chiamata a YOURLS. Probabilmente un problema di configurazione, come un \"apiurl\" o una \"signature\" sbagliati o mancanti.",
|
||||||
"Error parsing YOURLS response.": "Errore nell'analizzare la risposta YOURLS."
|
"Error parsing YOURLS response.": "Errore nell'analizzare la risposta YOURLS.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "あなたのIPアドレスにはペーストを作成する権限がありません。",
|
"Your IP is not authorized to create pastes.": "あなたのIPアドレスにはペーストを作成する権限がありません。",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "このインスタンスを指していないURLを短縮しようとしています。",
|
"Trying to shorten a URL that isn't pointing at our instance.": "このインスタンスを指していないURLを短縮しようとしています。",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "YOURLSの呼び出し中にエラーが発生しました。\"apiurl\"または\"signature\"等の設定に問題がある可能性があります。",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "YOURLSの呼び出し中にエラーが発生しました。\"apiurl\"または\"signature\"等の設定に問題がある可能性があります。",
|
||||||
"Error parsing YOURLS response.": "YOURLSレスポンスの解析中にエラーが発生しました。"
|
"Error parsing YOURLS response.": "YOURLSレスポンスの解析中にエラーが発生しました。",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Jūsų IP adresas neturi įgaliojimų kurti įdėjimų.",
|
"Your IP is not authorized to create pastes.": "Jūsų IP adresas neturi įgaliojimų kurti įdėjimų.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Bandoma sutrumpinti URL adresą, kuris nenurodo į mūsų egzempliorių.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Bandoma sutrumpinti URL adresą, kuris nenurodo į mūsų egzempliorių.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Klaida iškviečiant YOURLS. Tikriausiai, konfigūracijos klaida, pavyzdžiui, neteisingi „apiurl“ ar „signature“, arba jų nėra.",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Klaida iškviečiant YOURLS. Tikriausiai, konfigūracijos klaida, pavyzdžiui, neteisingi „apiurl“ ar „signature“, arba jų nėra.",
|
||||||
"Error parsing YOURLS response.": "Klaida nagrinėjant YOURLS atsaką."
|
"Error parsing YOURLS response.": "Klaida nagrinėjant YOURLS atsaką.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Je IP-adres is niet gemachtigd om pastes te maken.",
|
"Your IP is not authorized to create pastes.": "Je IP-adres is niet gemachtigd om pastes te maken.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Proberen om een URL te verkorten dat niet naar ons systeem wijst.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Proberen om een URL te verkorten dat niet naar ons systeem wijst.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Foutmelding ophalen YOURLS. Waarschijnlijk een configuratiefout, zoals een verkeerde of missende \"apiurl\" of \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Foutmelding ophalen YOURLS. Waarschijnlijk een configuratiefout, zoals een verkeerde of missende \"apiurl\" of \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Foutmelding bij parsen van YOURLS respons."
|
"Error parsing YOURLS response.": "Foutmelding bij parsen van YOURLS respons.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Vòstra adreça IP a pas l’autorizacion de crear de tèxtes.",
|
"Your IP is not authorized to create pastes.": "Vòstra adreça IP a pas l’autorizacion de crear de tèxtes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag d’abracar una URL que mena pas a nòstra instància.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag d’abracar una URL que mena pas a nòstra instància.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
|
||||||
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS."
|
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Seu IP não está autorizado a criar cópias.",
|
"Your IP is not authorized to create pastes.": "Seu IP não está autorizado a criar cópias.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Tentando encurtar uma URL que não aponta para a nossa instância.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Tentando encurtar uma URL que não aponta para a nossa instância.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Вашему IP адресу не разрешено создавать записи.",
|
"Your IP is not authorized to create pastes.": "Вашему IP адресу не разрешено создавать записи.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Vaša IP adresa nie je oprávnená vytvárať príspevky.",
|
"Your IP is not authorized to create pastes.": "Vaša IP adresa nie je oprávnená vytvárať príspevky.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Pokúšate sa skrátiť adresu URL, ktorá neukazuje na túto inštanciu.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Pokúšate sa skrátiť adresu URL, ktorá neukazuje na túto inštanciu.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "IP ของคุณไม่ได้รับอนุญาตให้สร้างการฝากโค้ด",
|
"Your IP is not authorized to create pastes.": "IP ของคุณไม่ได้รับอนุญาตให้สร้างการฝากโค้ด",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "กำลังพยายามใช้เครื่องมือสร้างลิงก์ย่อ ที่ไม่ได้ชี้ไปที่อินสแตนซ์ของเรา",
|
"Trying to shorten a URL that isn't pointing at our instance.": "กำลังพยายามใช้เครื่องมือสร้างลิงก์ย่อ ที่ไม่ได้ชี้ไปที่อินสแตนซ์ของเรา",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "เกิดข้อผิดพลาดในการเรียก YOURLS อาจเป็นปัญหามาจากการกำหนดค่า เช่น \"apiurl\" หรือ \"signature\" ไม่ถูกต้องหรือขาดหายไป",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "เกิดข้อผิดพลาดในการเรียก YOURLS อาจเป็นปัญหามาจากการกำหนดค่า เช่น \"apiurl\" หรือ \"signature\" ไม่ถูกต้องหรือขาดหายไป",
|
||||||
"Error parsing YOURLS response.": "เกิดข้อผิดพลาดในการแยกวิเคราะห์การตอบสนองของ YOURLS"
|
"Error parsing YOURLS response.": "เกิดข้อผิดพลาดในการแยกวิเคราะห์การตอบสนองของ YOURLS",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "IP adresinizin yazı oluşturmaya yetkisi yoktur.",
|
"Your IP is not authorized to create pastes.": "IP adresinizin yazı oluşturmaya yetkisi yoktur.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "Вашому IP не дозволено створювати вставки.",
|
"Your IP is not authorized to create pastes.": "Вашому IP не дозволено створювати вставки.",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
|
||||||
"Error parsing YOURLS response.": "Error parsing YOURLS response."
|
"Error parsing YOURLS response.": "Error parsing YOURLS response.",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,7 @@
|
||||||
"Your IP is not authorized to create pastes.": "您的 IP 无权创建粘贴。",
|
"Your IP is not authorized to create pastes.": "您的 IP 无权创建粘贴。",
|
||||||
"Trying to shorten a URL that isn't pointing at our instance.": "尝试缩短一个不指向我们实例的URL。",
|
"Trying to shorten a URL that isn't pointing at our instance.": "尝试缩短一个不指向我们实例的URL。",
|
||||||
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "调用 YOURLS 时出错。可能是配置问题,例如“apiurl”或“signature”错误或缺失。",
|
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "调用 YOURLS 时出错。可能是配置问题,例如“apiurl”或“signature”错误或缺失。",
|
||||||
"Error parsing YOURLS response.": "解析 YOURLS 响应时出错。"
|
"Error parsing YOURLS response.": "解析 YOURLS 响应时出错。",
|
||||||
|
"Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?": "Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?",
|
||||||
|
"Yes, load it": "Yes, load it"
|
||||||
}
|
}
|
||||||
|
|
148
js/privatebin.js
148
js/privatebin.js
|
@ -77,6 +77,13 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* URL fragment prefix requiring load confirmation
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
const loadConfirmPrefix = '#?';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CryptoData class
|
* CryptoData class
|
||||||
*
|
*
|
||||||
|
@ -1512,15 +1519,11 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
me.getPasteKey = function()
|
me.getPasteKey = function()
|
||||||
{
|
{
|
||||||
if (symmetricKey === null) {
|
if (symmetricKey === null) {
|
||||||
let pos = 1;
|
let startPos = 1;
|
||||||
const pt = '#protected/';
|
if(window.location.hash.startsWith(loadConfirmPrefix)) {
|
||||||
if(window.location.hash.startsWith(pt)) {
|
startPos = loadConfirmPrefix.length;
|
||||||
pos = pt.length;
|
|
||||||
}
|
|
||||||
let newKey = window.location.hash.substring(pos);
|
|
||||||
if (newKey === '') {
|
|
||||||
throw 'no encryption key given';
|
|
||||||
}
|
}
|
||||||
|
let newKey = window.location.hash.substring(startPos);
|
||||||
|
|
||||||
// Some web 2.0 services and redirectors add data AFTER the anchor
|
// Some web 2.0 services and redirectors add data AFTER the anchor
|
||||||
// (such as &utm_source=...). We will strip any additional data.
|
// (such as &utm_source=...). We will strip any additional data.
|
||||||
|
@ -1529,6 +1532,9 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
{
|
{
|
||||||
newKey = newKey.substring(0, ampersandPos);
|
newKey = newKey.substring(0, ampersandPos);
|
||||||
}
|
}
|
||||||
|
if (newKey === '') {
|
||||||
|
throw 'no encryption key given';
|
||||||
|
}
|
||||||
|
|
||||||
// version 2 uses base58, version 1 uses base64 without decoding
|
// version 2 uses base58, version 1 uses base64 without decoding
|
||||||
try {
|
try {
|
||||||
|
@ -2242,7 +2248,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
* @function
|
* @function
|
||||||
* @param {Event} event
|
* @param {Event} event
|
||||||
*/
|
*/
|
||||||
async function submitPasswordModal(event)
|
function submitPasswordModal(event)
|
||||||
{
|
{
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
@ -2252,37 +2258,37 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
// hide modal
|
// hide modal
|
||||||
$passwordModal.modal('hide');
|
$passwordModal.modal('hide');
|
||||||
|
|
||||||
// check if protected pathname
|
|
||||||
const url = new URL(window.location);
|
|
||||||
|
|
||||||
// if protected request password
|
|
||||||
if(url.hash.startsWith('#protected/')) {
|
|
||||||
const pt = '#protected/';
|
|
||||||
let pos = pt.length;
|
|
||||||
let newKey = window.location.hash.substring(pos);
|
|
||||||
if (newKey === '') {
|
|
||||||
throw 'no encryption key given';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Some web 2.0 services and redirectors add data AFTER the anchor
|
|
||||||
// (such as &utm_source=...). We will strip any additional data.
|
|
||||||
let ampersandPos = newKey.indexOf('&');
|
|
||||||
if (ampersandPos > -1)
|
|
||||||
{
|
|
||||||
newKey = newKey.substring(0, ampersandPos);
|
|
||||||
}
|
|
||||||
const enc = CryptTool.base58decode(newKey).padStart(32, '\u0000');
|
|
||||||
const dt = JSON.parse(enc);
|
|
||||||
const cipherdata = [dt.ct, dt.adata]
|
|
||||||
|
|
||||||
const plaindata = await CryptTool.decipher(dt.k, password, cipherdata);
|
|
||||||
window.location.replace(Helper.baseUri() + plaindata);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PasteDecrypter.run();
|
PasteDecrypter.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Request users confirmation to load possibly burn after reading paste
|
||||||
|
*
|
||||||
|
* @name Prompt.requestLoadConfirmation
|
||||||
|
* @function
|
||||||
|
*/
|
||||||
|
me.requestLoadConfirmation = function()
|
||||||
|
{
|
||||||
|
const $loadconfirmmodal = $('#loadconfirmmodal');
|
||||||
|
if ($loadconfirmmodal.length > 0) {
|
||||||
|
const $loadconfirmOpenNow = $loadconfirmmodal.find('#loadconfirm-open-now');
|
||||||
|
$loadconfirmOpenNow.off('click.loadPaste');
|
||||||
|
$loadconfirmOpenNow.on('click.loadPaste', PasteDecrypter.run);
|
||||||
|
const $loadconfirmClose = $loadconfirmmodal.find('.close');
|
||||||
|
$loadconfirmClose.off('click.close');
|
||||||
|
$loadconfirmClose.on('click.close', Controller.newPaste);
|
||||||
|
$loadconfirmmodal.modal('show');
|
||||||
|
} else {
|
||||||
|
if (window.confirm(
|
||||||
|
I18n._('Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?')
|
||||||
|
)) {
|
||||||
|
PasteDecrypter.run();
|
||||||
|
} else {
|
||||||
|
Controller.newPaste();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ask the user for the password and set it
|
* ask the user for the password and set it
|
||||||
*
|
*
|
||||||
|
@ -2297,6 +2303,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
backdrop: 'static',
|
backdrop: 'static',
|
||||||
keyboard: false
|
keyboard: false
|
||||||
});
|
});
|
||||||
|
$passwordDecrypt.focus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3844,6 +3851,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
{
|
{
|
||||||
document.cookie = 'lang=' + $(event.target).data('lang') + ';secure';
|
document.cookie = 'lang=' + $(event.target).data('lang') + ';secure';
|
||||||
UiHelper.reloadHome();
|
UiHelper.reloadHome();
|
||||||
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3999,10 +4007,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
const $emailconfirmmodal = $('#emailconfirmmodal');
|
const $emailconfirmmodal = $('#emailconfirmmodal');
|
||||||
if ($emailconfirmmodal.length > 0) {
|
if ($emailconfirmmodal.length > 0) {
|
||||||
if (expirationDate !== null) {
|
if (expirationDate !== null) {
|
||||||
I18n._(
|
|
||||||
$emailconfirmmodal.find('#emailconfirm-display'),
|
|
||||||
'Recipient may become aware of your timezone, convert time to UTC?'
|
|
||||||
);
|
|
||||||
const $emailconfirmTimezoneCurrent = $emailconfirmmodal.find('#emailconfirm-timezone-current');
|
const $emailconfirmTimezoneCurrent = $emailconfirmmodal.find('#emailconfirm-timezone-current');
|
||||||
const $emailconfirmTimezoneUtc = $emailconfirmmodal.find('#emailconfirm-timezone-utc');
|
const $emailconfirmTimezoneUtc = $emailconfirmmodal.find('#emailconfirm-timezone-utc');
|
||||||
$emailconfirmTimezoneCurrent.off('click.sendEmailCurrentTimezone');
|
$emailconfirmTimezoneCurrent.off('click.sendEmailCurrentTimezone');
|
||||||
|
@ -4851,44 +4855,16 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
* @param {int} status
|
* @param {int} status
|
||||||
* @param {object} data
|
* @param {object} data
|
||||||
*/
|
*/
|
||||||
async function showCreatedPaste(status, data) {
|
function showCreatedPaste(status, data) {
|
||||||
Alert.hideLoading();
|
Alert.hideLoading();
|
||||||
Alert.hideMessages();
|
Alert.hideMessages();
|
||||||
|
|
||||||
// show notification
|
// show notification
|
||||||
const baseUri = Helper.baseUri(),
|
const baseUri = Helper.baseUri() + '?',
|
||||||
deleteUrl = baseUri + '?pasteid=' + data.id + '&deletetoken=' + data.deletetoken;
|
url = baseUri + data.id + (TopNav.getBurnAfterReading() ? loadConfirmPrefix : '#') + CryptTool.base58encode(data.encryptionKey),
|
||||||
let url;
|
deleteUrl = baseUri + 'pasteid=' + data.id + '&deletetoken=' + data.deletetoken;
|
||||||
|
|
||||||
const pw = TopNav.getPassword()
|
|
||||||
|
|
||||||
// only execute when it is a single time view
|
|
||||||
if(pw && pw.length && TopNav.getBurnAfterReading()) {
|
|
||||||
|
|
||||||
const sm = CryptTool.getSymmetricKey();
|
|
||||||
|
|
||||||
let openUri = '?' + data.id + '#' + CryptTool.base58encode(data.encryptionKey);
|
|
||||||
let cipherResult = await CryptTool.cipher(sm, pw, openUri, []);
|
|
||||||
|
|
||||||
let dt = {}
|
|
||||||
dt['v'] = 2;
|
|
||||||
dt['ct'] = cipherResult[0];
|
|
||||||
dt['adata'] = cipherResult[1];
|
|
||||||
dt['k'] = sm;
|
|
||||||
|
|
||||||
const encUrl = CryptTool.base58encode(JSON.stringify(dt))
|
|
||||||
|
|
||||||
url = baseUri + '#protected/' + encUrl;
|
|
||||||
} else {
|
|
||||||
url = baseUri + '?' + data.id + '#' + CryptTool.base58encode(data.encryptionKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
PasteStatus.createPasteNotification(url, deleteUrl);
|
PasteStatus.createPasteNotification(url, deleteUrl);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// show new URL in browser bar
|
// show new URL in browser bar
|
||||||
history.pushState({type: 'newpaste'}, document.title, url);
|
history.pushState({type: 'newpaste'}, document.title, url);
|
||||||
|
|
||||||
|
@ -5033,12 +5009,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
|
|
||||||
// prepare server interaction
|
// prepare server interaction
|
||||||
ServerInteraction.prepare();
|
ServerInteraction.prepare();
|
||||||
if(!TopNav.getBurnAfterReading()) {
|
|
||||||
ServerInteraction.setCryptParameters(TopNav.getPassword());
|
ServerInteraction.setCryptParameters(TopNav.getPassword());
|
||||||
} else {
|
|
||||||
// not needed in this scenario
|
|
||||||
ServerInteraction.setCryptParameters('');
|
|
||||||
}
|
|
||||||
|
|
||||||
// set success/fail functions
|
// set success/fail functions
|
||||||
ServerInteraction.setSuccess(showCreatedPaste);
|
ServerInteraction.setSuccess(showCreatedPaste);
|
||||||
|
@ -5309,7 +5280,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
Alert.hideMessages();
|
Alert.hideMessages();
|
||||||
Alert.showLoading('Decrypting paste…', 'cloud-download');
|
Alert.showLoading('Decrypting paste…', 'cloud-download');
|
||||||
|
|
||||||
if (typeof paste === 'undefined') {
|
if (typeof paste === 'undefined' || paste.type === 'click') {
|
||||||
// get cipher data and wait until it is available
|
// get cipher data and wait until it is available
|
||||||
Model.getPasteData(me.run);
|
Model.getPasteData(me.run);
|
||||||
return;
|
return;
|
||||||
|
@ -5416,7 +5387,10 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
AttachmentViewer.removeAttachmentData();
|
AttachmentViewer.removeAttachmentData();
|
||||||
|
|
||||||
Alert.hideLoading();
|
Alert.hideLoading();
|
||||||
|
// only push new state if we are coming from a different one
|
||||||
|
if (Helper.baseUri() != window.location) {
|
||||||
history.pushState({type: 'create'}, document.title, Helper.baseUri());
|
history.pushState({type: 'create'}, document.title, Helper.baseUri());
|
||||||
|
}
|
||||||
|
|
||||||
// clear discussion
|
// clear discussion
|
||||||
DiscussionViewer.prepareNewDiscussion();
|
DiscussionViewer.prepareNewDiscussion();
|
||||||
|
@ -5442,6 +5416,12 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if we should request loading confirmation
|
||||||
|
if(window.location.hash.startsWith(loadConfirmPrefix)) {
|
||||||
|
Prompt.requestLoadConfirmation();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// show proper elements on screen
|
// show proper elements on screen
|
||||||
PasteDecrypter.run();
|
PasteDecrypter.run();
|
||||||
};
|
};
|
||||||
|
@ -5624,16 +5604,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||||
try {
|
try {
|
||||||
Model.getPasteId();
|
Model.getPasteId();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
||||||
// check if protected pathname
|
|
||||||
const url = new URL(window.location);
|
|
||||||
|
|
||||||
// if protected request password
|
|
||||||
if(url.hash.startsWith('#protected/')) {
|
|
||||||
return Prompt.requestPassword();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// otherwise create a new paste
|
// otherwise create a new paste
|
||||||
return me.newPaste();
|
return me.newPaste();
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ endif;
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/purify-3.0.6.js" integrity="sha512-N3y6/HOk3pbsw3lFh4O8CKKEVwu1B2CF8kinhjURf8Yqa5OfSUt+/arozxFW+TUPOPw3TsDCRT/0u7BGRTEVUw==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/purify-3.0.6.js" integrity="sha512-N3y6/HOk3pbsw3lFh4O8CKKEVwu1B2CF8kinhjURf8Yqa5OfSUt+/arozxFW+TUPOPw3TsDCRT/0u7BGRTEVUw==" crossorigin="anonymous"></script>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-m/JO/NGsP+FEHPACdYe60BFkURk+NVCBaMsIUOUC5J1EnVE2XgVKF6Z+YSDd+9M4ISu0SivYxCZBEl8qW8u1Jg==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-zHSMNVafjkfbJWyExunMI9NvD/oSdifOiPCUGKdf4GHeCjl/IRi8RYyGoAzZPekqRDhhkl13SlfkUiQYKD0g5Q==" crossorigin="anonymous"></script>
|
||||||
<!-- icon -->
|
<!-- icon -->
|
||||||
<link rel="apple-touch-icon" href="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" sizes="180x180" />
|
<link rel="apple-touch-icon" href="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" sizes="180x180" />
|
||||||
<link rel="icon" type="image/png" href="img/favicon-32x32.png" sizes="32x32" />
|
<link rel="icon" type="image/png" href="img/favicon-32x32.png" sizes="32x32" />
|
||||||
|
@ -123,22 +123,32 @@ if (count($class)) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="loadconfirmmodal" tabindex="-1" class="modal fade" role="dialog" aria-hidden="true">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo I18n::_('Close') ?>"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title"><?php echo I18n::_('Burn after reading pastes can only be displayed once upon loading it. Do you want to open it now?') ?></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body text-center">
|
||||||
|
<button id="loadconfirm-open-now" type="button" class="btn btn-success" data-dismiss="modal"><span class="glyphicon glyphicon-download"></span> <?php echo I18n::_('Yes, load it') ?></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
if ($QRCODE) :
|
if ($QRCODE) :
|
||||||
?>
|
?>
|
||||||
<div id="qrcodemodal" tabindex="-1" class="modal fade" aria-labelledby="qrcodemodalTitle" role="dialog" aria-hidden="true">
|
<div id="qrcodemodal" tabindex="-1" class="modal fade" role="dialog" aria-hidden="true">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo I18n::_('Close') ?>"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title"><?php echo I18n::_('QR code') ?></h4>
|
||||||
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="mx-auto" id="qrcode-display"></div>
|
<div class="mx-auto" id="qrcode-display"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="btn-group col-xs-12">
|
|
||||||
<span class="col-xs-12">
|
|
||||||
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo I18n::_('Close') ?></button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -146,23 +156,19 @@ if ($QRCODE) :
|
||||||
endif;
|
endif;
|
||||||
if ($EMAIL) :
|
if ($EMAIL) :
|
||||||
?>
|
?>
|
||||||
<div id="emailconfirmmodal" tabindex="-1" class="modal fade" aria-labelledby="emailconfirmmodalTitle" role="dialog" aria-hidden="true">
|
<div id="emailconfirmmodal" tabindex="-1" class="modal fade" role="dialog" aria-hidden="true">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-body">
|
<div class="modal-header">
|
||||||
<div id="emailconfirm-display"></div>
|
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo I18n::_('Close') ?>"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title"><?php echo I18n::_('Recipient may become aware of your timezone, convert time to UTC?') ?></h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="modal-body row">
|
||||||
<div class="btn-group col-xs-12" data-toggle="buttons">
|
<div class="col-xs-12 col-md-6">
|
||||||
<span class="col-xs-12 col-md-4">
|
<button id="emailconfirm-timezone-current" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-time"></span> <?php echo I18n::_('Use Current Timezone') ?></button>
|
||||||
<button id="emailconfirm-timezone-current" type="button" class="btn btn-danger btn-block" data-dismiss="modal"><?php echo I18n::_('Use Current Timezone') ?></button>
|
</div>
|
||||||
</span>
|
<div class="col-xs-12 col-md-6 text-right">
|
||||||
<span class="col-xs-12 col-md-4">
|
<button id="emailconfirm-timezone-utc" type="button" class="btn btn-success"><span class="glyphicon glyphicon-globe"></span> <?php echo I18n::_('Convert To UTC') ?></button>
|
||||||
<button id="emailconfirm-timezone-utc" type="button" class="btn btn-default btn-block" data-dismiss="modal"><?php echo I18n::_('Convert To UTC') ?></button>
|
|
||||||
</span>
|
|
||||||
<span class="col-xs-12 col-md-4">
|
|
||||||
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo I18n::_('Close') ?></button>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -51,7 +51,7 @@ endif;
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/purify-3.0.6.js" integrity="sha512-N3y6/HOk3pbsw3lFh4O8CKKEVwu1B2CF8kinhjURf8Yqa5OfSUt+/arozxFW+TUPOPw3TsDCRT/0u7BGRTEVUw==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/purify-3.0.6.js" integrity="sha512-N3y6/HOk3pbsw3lFh4O8CKKEVwu1B2CF8kinhjURf8Yqa5OfSUt+/arozxFW+TUPOPw3TsDCRT/0u7BGRTEVUw==" crossorigin="anonymous"></script>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
||||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-m/JO/NGsP+FEHPACdYe60BFkURk+NVCBaMsIUOUC5J1EnVE2XgVKF6Z+YSDd+9M4ISu0SivYxCZBEl8qW8u1Jg==" crossorigin="anonymous"></script>
|
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-zHSMNVafjkfbJWyExunMI9NvD/oSdifOiPCUGKdf4GHeCjl/IRi8RYyGoAzZPekqRDhhkl13SlfkUiQYKD0g5Q==" crossorigin="anonymous"></script>
|
||||||
<!-- icon -->
|
<!-- icon -->
|
||||||
<link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
<link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
<link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
<link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
|
Loading…
Reference in a new issue