diff --git a/.gitignore b/.gitignore index fc13812..7c8a7c9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ node_modules /build /.svelte-kit /package +/.idea +/.netlify +/.velcel/output diff --git a/.vercel/output/config.json b/.vercel/output/config.json new file mode 100644 index 0000000..d5d19ab --- /dev/null +++ b/.vercel/output/config.json @@ -0,0 +1 @@ +{"version":3,"routes":[{"src":"^/(?:(.+)/)?index(?:\\.html)?/?$","headers":{"Location":"/$1"},"status":308},{"src":"^/(.*)\\.html/?$","headers":{"Location":"/$1"},"status":308},{"src":"^/(.*)/$","headers":{"Location":"/$1"},"status":308},{"src":"/_app/.+","headers":{"cache-control":"public, immutable, max-age=31536000"}},{"handle":"filesystem"},{"src":"/.*","dest":"/render"}],"overrides":{}} \ No newline at end of file diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/Codeblock.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/Codeblock.js new file mode 100644 index 0000000..bd02090 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/Codeblock.js @@ -0,0 +1,14 @@ +import { c as create_ssr_component, h as add_attribute, e as escape } from "./index.js"; +const Codeblock = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let { lang } = $$props; + let { editable = false } = $$props; + if ($$props.lang === void 0 && $$bindings.lang && lang !== void 0) + $$bindings.lang(lang); + if ($$props.editable === void 0 && $$bindings.editable && editable !== void 0) + $$bindings.editable(editable); + return `
${slots.default ? slots.default({}) : ``}
+
`;
+});
+export {
+ Codeblock as C
+};
diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/DefinitionEntry.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/DefinitionEntry.js
new file mode 100644
index 0000000..34d945d
--- /dev/null
+++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/DefinitionEntry.js
@@ -0,0 +1,11 @@
+import { c as create_ssr_component, e as escape } from "./index.js";
+const DefinitionEntry = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let { background } = $$props;
+ if ($$props.background === void 0 && $$bindings.background && background !== void 0)
+ $$bindings.background(background);
+ return `${(($$value) => $$value === void 0 ? ` ${escape(translations)}
+ ` : $$value)(translations)}
+ ${escape(translations.length)} bytes
+ ${escape(output)}
+
+ ${escape(output.length)} bytes (${escape(Math.abs(sizeChange))}% ${escape(sizeChange > 0 ? "bigger" : "smaller")} than the source translations)
+123456789
in the US english variant will result in 123,456,789
but in the Indian variant will be 12,34,56,789
. undefined
will not interpolate as "undefined".`,
+ "icu-crash-course.table-cells.interpolations": (chosen) => `Your favorite color is ${__interpolate(chosen)}`,
+ "icu-crash-course.subsection.plurals": "Plurals",
+ "icu-crash-course.paragraph.plurals-1": "The second most used feature in any app is pluralization. The ICU syntax has a dedicated plural
helper to define plural translations that from very simple to quite complicated, all within the translation itself.",
+ "icu-crash-course.paragraph.plurals-2": "Each path for the plural is prefixed with the numeric qualifier. The possible qualifiers are:",
+ "icu-crash-course.paragraph.plurals-3": "Lets see some examples first:",
+ "icu-crash-course.paragraph.plurals-4": "Some languages like English only leverage one
and other
but others will be able to use the best plural form. The particular threshold value that divides few
and many
is heavily cultural.",
+ "icu-crash-course.paragraph.plurals-5": "You can also specify translations for exact values using =N
. When a number is specified that way that translation will supersede the language's default behavior. =2
or =12
to have different translations specifically for a couple and a dozen instead of using the generic plural.",
+ "icu-crash-course.paragraph.plurals-6": "Lastly, plurals can also make us of the hashtag to print as number the value being used in the plural, and optionally the helper can receive an offset that will be substracted to the value in the hashtag.",
+ "icu-crash-course.list-items.one": "(singular)",
+ "icu-crash-course.list-items.two": "(dual)",
+ "icu-crash-course.list-items.few": "(paucal)",
+ "icu-crash-course.list-items.many": "(Also used for fractions)",
+ "icu-crash-course.list-items.other": "(general plural form. The one used on languages with only one plural)",
+ "icu-crash-course.table-cells.plurals-simple": (numCats) => `Your have ${__plural(numCats, {
+ o: "one cat",
+ h: `${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-complex": (numCats) => `Your have ${__plural(numCats, {
+ 0: "no cats at all",
+ o: "one single cat",
+ 2: "a couple cats",
+ 3: "a trio of cats",
+ 12: "a dozen cats",
+ h: `exactly ${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-offset": (guest, guestCount) => __offsetPlural(guestCount, 1, {
+ 0: "Mary does not give a party.",
+ 1: `Mary invites ${__interpolate(guest)} to her party.`,
+ 2: `Mary invites ${__interpolate(guest)} and one other person to her party.`,
+ h: `Mary invites ${__interpolate(guest)} and ${guestCount - 1} other people to her party.`
+ }),
+ "icu-crash-course.subsection.select": "Select",
+ "icu-crash-course.paragraph.select-1": "The select
helper is used to choose among several translation paths depending on an argument.${__interpolate(path)}
`,
+ "getting-started.paragraph.hook-into-sveltekit-2": "You are set, time to use the library.",
+ "getting-started.subsection.hook-into-vite": "Hook the compiler into plain Vite.js",
+ "getting-started.paragraph.hook-into-vite-1": (path) => `If you are not using SvelteKit but raw Vite.js, the configuration is very similar. At the end SvelteKit uses Vite.js underneath. Import the compiler and pass it to the list of plugins in ${__interpolate(path)}
`,
+ "configuration.title": "Configuration",
+ "configuration.subsection.example": "Configuration example",
+ "configuration.link.example": "Example",
+ "configuration.paragraph.example-1": "This is the minimal working example of the library's initialization. Put this in your",
+ "configuration.paragraph.example-2": "file.",
+ "configuration.paragraph.example-3": "This will get you going but lets dive deeper on it more.",
+ "configuration.subsection.static-locales": "Load locales statically",
+ "configuration.paragraph.static-locales-1": "Like in the previous example, the easiest way to add your translation keys is to just import them as modules and register them using",
+ "configuration.paragraph.static-locales-2": "Note that despite the fact that you defined your translations in JSON files, in here you are importing them as javascript modules from",
+ "configuration.paragraph.static-locales-3": ". This is because the compiler has transformed your translations into a module with inline functions at built time.",
+ "configuration.paragraph.static-locales-4": "This approach is loading all those languages even if only one is being displayed. Usually okay when kicking out a new project or if you only have a few of keys, but when your app grows you should start loading languages on demand.",
+ "configuration.subsection.dynamic-locales": "Load locales dynamically",
+ "configuration.paragraph.dynamic-locales-1": "Once you have a significant amount of translations and many locales it would be very wasteful to load every possible language for every possible user when they will only see their selected one. The library has a",
+ "configuration.paragraph.dynamic-locales-2": "function to dynamically import languages when the user selects it and a",
+ "configuration.paragraph.dynamic-locales-3": "to wait for locales to be loaded.",
+ "configuration.paragraph.dynamic-locales-4": "If all your locales are dynamically loaded you want to stop the page from rendering initial locale has loaded. Calling it in Svelte's",
+ "configuration.paragraph.dynamic-locales-5": "function with do exactly that.",
+ "configuration.subsection.dynamic-locales-shorthand": "Load locales dynamically (but shorter this time)",
+ "configuration.paragraph.dynamic-locales-shorthand-1": "If you just want to register all your available locales (all the locales for which you have a JSON file with translations) automatically, there's a nice shorthand for that. The",
+ "configuration.paragraph.dynamic-locales-shorthand-2": "folder for your translations doubles down as a module from which you can import two utilities: ",
+ "configuration.paragraph.dynamic-locales-shorthand-3": "The first one is a function that when invoked is equivalent to calling",
+ "configuration.paragraph.dynamic-locales-shorthand-4": "for all your locales.Accept-Languageheader when doing SSR, but the most straigtforward is to detect it from the browser or the URL with the provided utility functions.", + "configuration.subsection.find-locale": "Find the best locale", + "configuration.paragraph.find-locale-1": "There are many valid strategies to select the best locale to pass to the", + "configuration.paragraph.find-locale-2": "function. This library provides helpers for the most common ones:", + "configuration.definitions.navigator": "Extracts the locale from browser, which in turn is the operative systems' locale.", + "configuration.definitions.query": "Extracts the locale on the given key of the query string of the URL.
getLocaleFromQueryString('lang')for
/users?sort=name&dir=asc&lang=es", + "configuration.definitions.hash": "Like
getLocaleFromQueryStringbut for the URL hash.
getLocaleFromHash('lang')for
/users#sort=name&dir=asc&lang=es", + "configuration.definitions.path": "Extracts the locale from the path of the URL.
getLocaleFromPathname(/^/((es|en)(-\\w\\w)?)/)for
myapp.com/en-US/users", + "configuration.definitions.host": "Extracts the locale from host.
getLocaleFromHostname(/^((es|en)(-\\w\\w)?)\\./)for
https://pt.myapp.com", + "configuration.definitions.acceptLanguage": "Extracts the locale from the Accept-Language header based on a list of available locales. If availableLocales is omitted, returns the first language from the header.
getLocaleFromAcceptLanguageHeader('en-GB,en;q=0.9,es-ES;q=0.8,en-US;q=0.6', ['fr', 'es', 'de'])for
'es'", + "configuration.subsection.custom-formats": "Custom formats", + "configuration.paragraph.custom-formats-1": "This library can format numbers, dates and times. It does it without adding significant weight to your app by leveraging the Intl API already present in all modern browsers and in Node.js.
$t(key, ops)store.", + "usage.paragraph.basic-translations-1": "This store is the one you will use the most. Just import it and use it as a function, passing in the translation key.", + "usage.subsection.passing-arguments": "Passing arguments", + "usage.paragraph.passing-arguments-1": "The second argument received by the", + "usage.paragraph.passing-arguments-2": "is an object. Any argument used by your translation will be passed in the", + "usage.paragraph.passing-arguments-3": "key.", + "usage.paragraph.passing-arguments-4": "There is no difference if the given parameters are just interpolated, used for in plural/select or are number, dates or times to be formatted. All aguments are passed the same way.", + "usage.subsection.formatting": "Formatting dates, times and numbers", + "usage.paragraph.formatting-1": "While you can pass number, dates and times to your translations that will be formatted following your preferences, this library also has stores to conveniently format them directly from your javascript code.", + "usage.subsection.other-stores": "Other stores", + "usage.paragraph.other-stores-1": "There are three more stores worth mentioning:", + "usage.paragraph.other-stores-2": "Lets build a component to change the current locale.", + "usage.paragraph.other-stores-3": "The code above is quite straightforward. We just iterate the list of available locales in
$locales
rendering a button for each one. Clicking on a button will set the current locale in $locale
to the new value."es-ES").`, + "usage.definitions.other-stores-2": `Contains an array of all the available locales (E.g:
["es-ES", "en", "pt-BR"]).`, + "usage.definitions.other-stores-3": "Contains
truewhen an asynchronous locale is still being loaded." +}; +export { + en as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/es.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/es.js new file mode 100644 index 0000000..ff3b726 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/es.js @@ -0,0 +1,219 @@ +import { __interpolate, __plural, __offsetPlural, __select, __date, __time, __number } from "svelte-intl-precompile"; +const es = { + "common.or": "o", + "common.and": "y", + "main.title": "Svelte Intl Precompile", + "main.subtitle": "La librer\xEDa de i18n para Svelte que analiza y transforma tus traducciones en tiempo de compilaci\xF3n.", + "playground.title": "Playground", + "introduction.title": "Introducci\xF3n", + "introduction.subsection.why-use-it": "\xBFPorqu\xE9 querr\xEDa usarla?", + "introduction.paragraph.why-use-it-1": "Svelte-intl-precompile es una librer\xEDa de i18n para apps Svelte que busca proporcionar todas las funcionalidades que tu app puede necesitar con el m\xEDnimo impacto tanto en el tama\xF1o de tu app como en su velocidad de ejecuci\xF3n", + "introduction.paragraph.why-use-it-2": "Para lograrlo usa una soluci\xF3n diferente a la mayor\xEDa de librer\xEDas de internacionalizaci\xF3n. Similarmente a como Svelte.js analiza y comprende tu c\xF3digo y durante la compilaci\xF3n lo tranforma en javascript compacto y eficiente, esta librer\xEDa inspeciona tus traducciones escritas en el ICU message syntax y las compila a funciones peque\xF1as y optimizadas.", + "introduction.paragraph.why-use-it-3": "Si usas todas y cada una de las funcionalidades soportadas por la sintaxis ICU a\xF1adir\xE1 aproximadamente 2kb a tu app tras el minificado y la compresi\xF3n. Si solamente usas unas pocas de las funcionalidades esa cifra puede bajar hasta tan solo 1kb", + "introduction.paragraph.why-use-it-4": "Dado que no tiene que parsear y tokenizar tus traducciones en el navegador, es adem\xE1s m\xE1s r\xE1pido. Como 4 veces m\xE1s r\xE1pido renderizando traducciones la primera vez, y alrededor del 50% m\xE1s r\xE1pido renderizando traducciones que ya se ha encontrado antes.", + "introduction.subsection.playground": "\xBF\xA1Qu\xE9!? Ens\xE9\xF1ame el c\xF3digo", + "introduction.paragraph.playground-preface": "Aqu\xED tienes, pru\xE9balo. Pega tus propias traducciones y observa el resultado de la compilaci\xF3n", + "introduction.subsection.features": "\xBFQu\xE9 funcionalidades soporta?", + "introduction.paragraph.features-1": "Todas las funcionalidades de la sintaxis ICU est\xE1n soportadas.
123456789
en ingl\xE9s americano resultar\xE1 en 123,456,789
pero en ingl\xE9s de la India ser\xE1 12,34,56,789
. undefined
not se interpolar\xE1 como "undefined".`,
+ "icu-crash-course.table-cells.interpolations": (chosen) => `Your favorite color is ${__interpolate(chosen)}`,
+ "icu-crash-course.subsection.plurals": "Plurales",
+ "icu-crash-course.paragraph.plurals-1": "La segunda funcionalidad m\xE1s usada en cualquier aplicaci\xF3n es la pluralizaci\xF3n. La sintaxis ICU proporciona la utilidad plural
para definir traducciones para los plurales desde los m\xE1s sencillos a los m\xE1s complejos, todo sin salir de la sintaxis en s\xED misma.",
+ "icu-crash-course.paragraph.plurals-2": "Cada posibilidad de pluralizaci\xF3n se precede de un calificador num\xE9rico. Las opciones posible son:",
+ "icu-crash-course.paragraph.plurals-3": "Ve\xE1moslo con unos ejemplos:",
+ "icu-crash-course.paragraph.plurals-4": "Algunos idiomas como el ingl\xE9s solamente utilizan one
y other
pero otros idiomas ser\xE1n capaces de seleccionar siempre el plural m\xE1s adecuando. El l\xEDmite particular que divide few
y many
es altamente cultural.",
+ "icu-crash-course.paragraph.plurals-5": "Puedes tambi\xE9n especificar traducciones para cantidades espec\xEDficas usando =N
. Cuando un n\xFAmero espec\xEDfico es especificad de esta manera tomar\xE1 precedencia sobre el comportamiento por defecto de los plurales en ese idioma. =2
o =12
para usar diferentes traducciones espec\xEDficamente para un par y una docena de elementos en lugar de usar el plural gen\xE9rico.",
+ "icu-crash-course.paragraph.plurals-6": "Por \xFAltimo, los plurales puedes utilizar la almoadilla para imprimir como n\xFAmero el valor usado para seleccionar el plural y opcionalmente la utilidad puede recibir un offset que se restar\xE1 del valor antes de reemplazar la almoadilla.",
+ "icu-crash-course.list-items.one": "(singular)",
+ "icu-crash-course.list-items.two": "(dual)",
+ "icu-crash-course.list-items.few": "(paucal)",
+ "icu-crash-course.list-items.many": "(Tambi\xE9n usado para fracciones)",
+ "icu-crash-course.list-items.other": "(plural gen\xE9rico. El usado en idiomas con solo una forma de plural)",
+ "icu-crash-course.table-cells.plurals-simple": (numCats) => `Your have ${__plural(numCats, {
+ o: "one cat",
+ h: `${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-complex": (numCats) => `Your have ${__plural(numCats, {
+ 0: "no cats at all",
+ o: "one single cat",
+ 2: "a couple cats",
+ 3: "a trio of cats",
+ 12: "a dozen cats",
+ h: `exactly ${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-offset": (guest, guestCount) => __offsetPlural(guestCount, 1, {
+ 0: "Mary does not give a party.",
+ 1: `Mary invites ${__interpolate(guest)} to her party.`,
+ 2: `Mary invites ${__interpolate(guest)} and one other person to her party.`,
+ h: `Mary invites ${__interpolate(guest)} and ${guestCount - 1} other people to her party.`
+ }),
+ "icu-crash-course.subsection.select": "Select",
+ "icu-crash-course.paragraph.select-1": "La utilidad select
se usa para elegir entre varias posibles traducciones en base al valor de un argumento.${__interpolate(path)}
`,
+ "getting-started.paragraph.hook-into-sveltekit-2": "Y ya est\xE1 todo listo. Tiempo de usar la librer\xEDa.",
+ "getting-started.subsection.hook-into-vite": "Acoplar el compilador a Vite.js",
+ "getting-started.paragraph.hook-into-vite-1": (path) => `Si no est\xE1s usando SvelteKit sino simplemente Vite.js la configuraci\xF3n es muy similar. Al fin y al cabo SvelteKit usa Vite.js internamente. Importa el compilador y a\xF1\xE1delo a la lista de plugins en ${__interpolate(path)}
`,
+ "configuration.title": "Configuraci\xF3n",
+ "configuration.subsection.example": "Ejemplo de configuraci\xF3n",
+ "configuration.link.example": "Ejemplo",
+ "configuration.paragraph.example-1": "\xC9ste es el ejemplo m\xE1s b\xE1sico de la inicializaci\xF3n de la librer\xEDa. Copia esto en tu",
+ "configuration.paragraph.example-2": ".",
+ "configuration.paragraph.example-3": "\xC9sto es suficiente para ir empezando pero vamos a profundizar m\xE1s en todas las opciones que tienes.",
+ "configuration.subsection.static-locales": "A\xF1adir idiomas est\xE1ticamente",
+ "configuration.paragraph.static-locales-1": "Como en el ejemplo anterior, la manera m\xE1s sencilla de a\xF1adir entradas al diccionario es simplemente importar el m\xF3dulo que contiene las traducciones y a\xF1adirlas usando",
+ "configuration.paragraph.static-locales-2": "Observa que a pesar de que definiste tus traducciones en un fichero JSON aqu\xED las estamos importando como si fuesen m\xF3dulos ES6 situados en ",
+ "configuration.paragraph.static-locales-3": ". Esto es porque la librer\xEDa ha transformado las traduccions en un m\xF3dulo con funciones durante la compilaci\xF3n.",
+ "configuration.paragraph.static-locales-4": "Esta estrategia est\xE1 cargando todos esos idiomas incluso si solamente uno va a acabar siendo mostrado. Esto no suele ser un problema cuando est\xE1s comenzando el desarollo de un nuevo proyecto o si tu proyecto tiene pocas traducciones o pocos idiomas, pero cuando tu aplicaci\xF3n empieza a crecer deber\xEDa empezar a cargar los paquetes de traducciones bajo demanda.",
+ "configuration.subsection.dynamic-locales": "A\xF1adir idiomas din\xE1micamente",
+ "configuration.paragraph.dynamic-locales-1": "Una ver tienes una cantidad significativa de traducciones en varios idiomas ser\xEDa muy ineficiente cargar todos ellos para cada usuario cuando solamente va a utilizar el que haya seleccionado. La librer\xEDa tiene una funci\xF3n",
+ "configuration.paragraph.dynamic-locales-2": "para din\xE1micamente importar idiomas cuando el usuario lo seleccione y otra funci\xF3n",
+ "configuration.paragraph.dynamic-locales-3": "para esperar a que la carga haya finalizado.",
+ "configuration.paragraph.dynamic-locales-4": "Si todos tus idiomas se cargan din\xE1micamente debes impedir que la app prosiga el renderizado hasta que el idioma inicial haya sido cargado. Devolviendo el resultado de invocarla desde la funci\xF3n",
+ "configuration.paragraph.dynamic-locales-5": "proporcionada por SvelteKit har\xE1 exactamente eso.",
+ "configuration.subsection.dynamic-locales-shorthand": "A\xF1adir idiomas din\xE1micamente (pero m\xE1s r\xE1pido esta vez)",
+ "configuration.paragraph.dynamic-locales-shorthand-1": "Si tan solo quieres registar todos los idiomas disponibles (es decir, todos aquellos para los cuales tienes un fichero JSON con traducciones) autom\xE1ticamente, hay un atajo muy pr\xE1ctico para lograrlo. La carpeta",
+ "configuration.paragraph.dynamic-locales-shorthand-2": "de donde importas las traducciones funciona tambi\xE9n como un m\xF3dulo de donde puedes importar dos utilidades: ",
+ "configuration.paragraph.dynamic-locales-shorthand-3": "La primera es una funci\xF3n que cuando se invoca equivale a llamar",
+ "configuration.paragraph.dynamic-locales-shorthand-4": "para cada uno de los idiomas.Accept-Languagede la petici\xF3n HTTP cuando renderizando en el servidor, pero la m\xE1s sencilla es detectar el idioma del navegador o de la URL con las utilidades proporcionadas para ello.", + "configuration.subsection.find-locale": "Encontar el mejor idioma", + "configuration.paragraph.find-locale-1": "Hay m\xFAltiples estrategias v\xE1lidas para seleccionar el mejor idioma para pasar a la funci\xF3n", + "configuration.paragraph.find-locale-2": ". Esta librer\xEDa proporciona utilidades para las estrategias m\xE1s comunes:", + "configuration.definitions.navigator": "Extrae el idioma del navegador, que a su vez es el idioma del sistema operativo.", + "configuration.definitions.query": "Extrae el idioma en el par\xE1metro dado de la query string de la URL.
getLocaleFromQueryString('lang')para
/users?sort=name&dir=asc&lang=es", + "configuration.definitions.hash": "Como
getLocaleFromQueryStringpero para el hash de la URL.
getLocaleFromHash('lang')para
/users#sort=name&dir=asc&lang=es", + "configuration.definitions.path": "Extrae el idioma de los segmentos de la URL.
getLocaleFromPathname(/^/((es|en)(-\\w\\w)?)/)para
myapp.com/en-US/users", + "configuration.definitions.host": "Extrae el idioma del host.
getLocaleFromHostname(/^((es|en)(-\\w\\w)?)\\./)para
https://pt.myapp.com", + "configuration.subsection.custom-formats": "Formatos personalizados", + "configuration.paragraph.custom-formats-1": "Esta librer\xEDa puede formatear n\xFAmeros, fechas y horas. Lo hace sin a\xF1adir un tama\xF1o significativo a tu proyecto porque utiliza la API Intl ya presente en todos los navegadores modernos y en Node.js.
$t(key, ops).", + "usage.paragraph.basic-translations-1": "Este store es el que utilizar\xE1s m\xE1s frecuentemente. Simplemente imp\xF3rtalo y usa la funci\xF3n que contiene, pas\xE1ndole el nombre de la traducci\xF3n a usar.", + "usage.subsection.passing-arguments": "Pasar argumentos", + "usage.paragraph.passing-arguments-1": "El segundo argumento recibido por", + "usage.paragraph.passing-arguments-2": "es un objecto. Cualquier argumento requerido dentro de la traducci\xF3n se proporciona con la opci\xF3n", + "usage.paragraph.passing-arguments-3": ".", + "usage.paragraph.passing-arguments-4": "No hay ninguna diferencia pasando argumentos dependiendo de si van a interpolarse o usarse para computar plurales o sub-ramas, o son n\xFAmeros o fechas para ser formateados. Todos los argumentos se pasan de la misma manera.", + "usage.subsection.formatting": "Formatear fechas, horas y n\xFAmeros", + "usage.paragraph.formatting-1": "Aunque puedes pasar n\xFAmeros, fechas y horas a tus traducciones que ser\xE1n formateadas sigiendo lo que el mensaje ICU indique, la librer\xEDa tambien tiene otros stores para cuando necesitas formatear directamente desde tu c\xF3digo.", + "usage.subsection.other-stores": "Otros stores", + "usage.paragraph.other-stores-1": "Hay tres stores m\xE1s que vale la pena mencionar:", + "usage.paragraph.other-stores-2": "Vamos a crear un componente para seleccionar el idioma actual", + "usage.paragraph.other-stores-3": "El c\xF3digo de arriba es bastante sencillo. Tan solo iteramos la lista de idiomas disponibles en
$locales
y renderizamos un bot\xF3n por cada uno. Haciendo click en esos botones asignar\xE1 su dioma al store $locale
."es-ES").`, + "usage.definitions.other-stores-2": `Contiene la lista de idiomas registrados. (P.e:
["es-ES", "en", "pt-BR"]).`, + "usage.definitions.other-stores-3": "Contiene
truecuando un idioma as\xEDncrono todav\xEDa se est\xE1 cargando." +}; +export { + es as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/gl.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/gl.js new file mode 100644 index 0000000..46544e3 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/gl.js @@ -0,0 +1,219 @@ +import { __interpolate, __plural, __offsetPlural, __select, __date, __time, __number } from "svelte-intl-precompile"; +const gl = { + "common.or": "ou", + "common.and": "e", + "main.title": "Svelte Intl Precompile", + "main.subtitle": "A librer\xEDa de i18n para Svelte que analiza e transforma as t\xFAas traducci\xF3ns en tempo de compilaci\xF3n.", + "playground.title": "Playground", + "introduction.title": "Introducci\xF3n", + "introduction.subsection.why-use-it": "\xBFPor qu\xE9 querer\xEDa usala?", + "introduction.paragraph.why-use-it-1": "Svelte-intl-precompile \xE9 unha librer\xEDa de i18n para apps Svelte que busca proporcionar todas as funcionalidades ca t\xFAa app pode precisar co m\xEDnimo impacto tanto no tama\xF1o da t\xFAa app como na s\xFAa velocidade de execuci\xF3n", + "introduction.paragraph.why-use-it-2": "Para logralo usa una soluci\xF3n diferente \xE1 maior\xEDa de librer\xEDas de internacionalizaci\xF3n. De forma semellante a como Svelte.js analiza y comprende o teu c\xF3digo e durante a compilaci\xF3n tranf\xF3rmao en javascript compacto e eficiente, esta librer\xEDa inspeciona as t\xFAas traducci\xF3ns escritas na ICU message syntax e comp\xEDlaas a funcions pequenas e optimizadas.", + "introduction.paragraph.why-use-it-3": "Se usas todas e cada unha das funcionalidades soportadas pola sintaxis ICU a\xF1adir\xE1 aproximadamente 2kb a teua app despois do minificado e da compresi\xF3n. Se soamente usas unhas poucas das funcionalidades esa cifra pode baixar asa tan s\xF3 1kb", + "introduction.paragraph.why-use-it-4": "Dado que non ten que parsear e tokenizar as t\xFAas traducci\xF3ns no navegador, tam\xE9n \xE9 m\xE1is r\xE1pido. Como 4 veces m\xE1is r\xE1pido renderizando traducci\xF3ns a primeira vez, e arredor do 50% m\xE1is r\xE1pido renderizando traducci\xF3ns que xa encontrara antes.", + "introduction.subsection.playground": "\xBF\xA1Qu\xE9!? Am\xF3same o c\xF3digo", + "introduction.paragraph.playground-preface": "Aqu\xED tes, pr\xF3bao. Pega as t\xFAas propias traducci\xF3ns e observa o resultado da compilaci\xF3n", + "introduction.subsection.features": "\xBFQu\xE9 funcionalidades soporta?", + "introduction.paragraph.features-1": "Todas as funcionalidades da sintaxis ICU est\xE1n soportadas.
123456789
en ingl\xE9s americano resultar\xE1 en 123,456,789
pero en ingl\xE9s da India ser\xE1 12,34,56,789
. undefined
no ser\xE1 interpolado como "undefined".`,
+ "icu-crash-course.table-cells.interpolations": (chosen) => `Your favorite color is ${__interpolate(chosen)}`,
+ "icu-crash-course.subsection.plurals": "Plurais",
+ "icu-crash-course.paragraph.plurals-1": "A segunda funcionalidade m\xE1is usada en cualqueira aplicaci\xF3n \xE9 a pluralizaci\xF3n. A sintaxis ICU proporciona a utilidade plural
para definir traducci\xF3ns para s plurais dende os m\xE1is sixelos os m\xE1is complexos, todo sen sair da sintaxis en s\xED mesma.",
+ "icu-crash-course.paragraph.plurals-2": "Cada posibilidade de pluralizaci\xF3n est\xE1 predecida dun calificador num\xE9rico. As posibles opcions son:",
+ "icu-crash-course.paragraph.plurals-3": "Vex\xE1molo cuns exemplos:",
+ "icu-crash-course.paragraph.plurals-4": "Alg\xFAns idiomas coma o ingl\xE9s soamente utilizan one
e other
pero outros idiomas ser\xE1n capaces de seleccionar sempre o plural m\xE1is adecuando. O l\xEDmite particular que divide few
e many
\xE9 altamente cultural.",
+ "icu-crash-course.paragraph.plurals-5": "Podes tam\xE9n especificar traducci\xF3ns para cantidades espec\xEDficas usando =N
. Cando un n\xFAmero espec\xEDfico \xE9 especificado de esta maneira tomar\xE1 precedencia sobre o comportamiento por defecto dos plurais nese idioma. =2
ou =12
para usar diferentes traducci\xF3ns espec\xEDficamente para un par y una ducia de elementos en lugar de usar o plural xen\xE9rico.",
+ "icu-crash-course.paragraph.plurals-6": "Por \xFAltimo, os plurais pueden utilizar a almoadilla para imprimir como n\xFAmero o valor usado para seleccionar o plural e opcionalmente a utilidade pode recibir un offset que ser\xE1 restado do valor antes de reemplazar a almoadilla.",
+ "icu-crash-course.list-items.one": "(singular)",
+ "icu-crash-course.list-items.two": "(dual)",
+ "icu-crash-course.list-items.few": "(paucal)",
+ "icu-crash-course.list-items.many": "(Tam\xE9n usado para fraccions)",
+ "icu-crash-course.list-items.other": "(plural xen\xE9rico. O usado en idiomas con s\xF3 unha forma de plural)",
+ "icu-crash-course.table-cells.plurals-simple": (numCats) => `Your have ${__plural(numCats, {
+ o: "one cat",
+ h: `${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-complex": (numCats) => `Your have ${__plural(numCats, {
+ 0: "no cats at all",
+ o: "one single cat",
+ 2: "a couple cats",
+ 3: "a trio of cats",
+ 12: "a dozen cats",
+ h: `exactly ${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-offset": (guest, guestCount) => __offsetPlural(guestCount, 1, {
+ 0: "Mary does not give a party.",
+ 1: `Mary invites ${__interpolate(guest)} to her party.`,
+ 2: `Mary invites ${__interpolate(guest)} and one other person to her party.`,
+ h: `Mary invites ${__interpolate(guest)} and ${guestCount - 1} other people to her party.`
+ }),
+ "icu-crash-course.subsection.select": "Select",
+ "icu-crash-course.paragraph.select-1": "A utilidade select
\xFAsase para elexir entre varias posibles traducci\xF3ns en base \xF3 valor dun argumento.${__interpolate(path)}
`,
+ "getting-started.paragraph.hook-into-sveltekit-2": "E xa est\xE1 todo listo. Tempo de usar a librer\xEDa.",
+ "getting-started.subsection.hook-into-vite": "Acoplar o compilador a Vite.js",
+ "getting-started.paragraph.hook-into-vite-1": (path) => `Se non est\xE1s a usar SvelteKit senon simplemente Vite.js a configuraci\xF3n \xE9 moy semellante. O fin e o cabo SvelteKit usa Vite.js internamente. Importa o compilador e eng\xE1deo \xE1 lista de plugins en ${__interpolate(path)}
`,
+ "configuration.title": "Configuraci\xF3n",
+ "configuration.subsection.example": "Exemplo de configuraci\xF3n",
+ "configuration.link.example": "Exemplo",
+ "configuration.paragraph.example-1": "Este \xE9 o exemplo de traballo m\xEDnimo da inicializaci\xF3n da biblioteca. \nPon isto no teu",
+ "configuration.paragraph.example-2": ".",
+ "configuration.paragraph.example-3": "Esto es suficiente para ir comenzando pero vamos a profundizar m\xE1is en todas as opcions que tes.",
+ "configuration.subsection.static-locales": "Engadir idiomas est\xE1ticamente",
+ "configuration.paragraph.static-locales-1": "Coma no exemplo anterior, a forma m\xE1is sixela de angadir entradas \xF3 diccionario \xE9 simplemente importar o m\xF3dulo que cont\xE9n as traducci\xF3ns e angadilas usando",
+ "configuration.paragraph.static-locales-2": "Observa que a pesar de que definiches as t\xFAas traducci\xF3ns nun ficheiro JSON aqu\xED as estamos importando como se fosen m\xF3dulos ES6 situados en ",
+ "configuration.paragraph.static-locales-3": ". Esto es porque la librer\xEDa ha transformado las traducci\xF3ns en un m\xF3dulo con funciones durante la compilaci\xF3n.",
+ "configuration.paragraph.static-locales-4": "Esta estratexia est\xE1 cargando todos esos idiomas incluso se soamente un vai acabar mostrado. Esto non soe ser un problema cando est\xE1s a comenzando o desenvolvemento dun novo proxecto ou se o teu proyecto ten poucas traducci\xF3ns ou poucos idiomas, pero cando a t\xFAa aplicaci\xF3n comenza a crecer deber\xEDa empezar a cargar os paquetes de traducci\xF3ns baixo demanda.",
+ "configuration.subsection.dynamic-locales": "Engadir idiomas din\xE1micamente",
+ "configuration.paragraph.dynamic-locales-1": "Unha vez tes unha cantidad significativa de traducci\xF3ns en varios idiomas ser\xEDa moi ineficiente cargar todos eles para cada usuario cando s\xF3 vai utilizar o que haxa seleccionado. A librer\xEDa ten una funci\xF3n",
+ "configuration.paragraph.dynamic-locales-2": "para din\xE1micamente importar idiomas cando o usuario o seleccione e outra funci\xF3n",
+ "configuration.paragraph.dynamic-locales-3": "para esperar a que a carga estea finalizada.",
+ "configuration.paragraph.dynamic-locales-4": "Se todos os teus idiomas cargan din\xE1micamente debes impedir que a app prosiga o renderizado ata que o paquete do idioma inicial estea cargado. Retornando ol resultado de invocala dende a funci\xF3n",
+ "configuration.paragraph.dynamic-locales-5": "proporcionada por SvelteKit far\xE1 exactamente iso.",
+ "configuration.subsection.dynamic-locales-shorthand": "Engadir idiomas din\xE1micamente (pero m\xE1is r\xE1pido esta vez)",
+ "configuration.paragraph.dynamic-locales-shorthand-1": "Se tan s\xF3 queres rexistar t\xF3dolos idiomas dispo\xF1ibles (\xE9 dicir, todos aquelos para os que tes un ficheiro JSON con traducci\xF3ns) autom\xE1ticamente, hay un atallo moi pr\xE1ctico para facelo. A carpeta",
+ "configuration.paragraph.dynamic-locales-shorthand-2": "de onde importas as traducci\xF3ns funciona tam\xE9n coma un m\xF3dulo de onde podes importar d\xFAas utilidades: ",
+ "configuration.paragraph.dynamic-locales-shorthand-3": "A primera \xE9 unha funci\xF3n que cando se invoca equivale a chamar",
+ "configuration.paragraph.dynamic-locales-shorthand-4": "para cada un dos idiomas.Accept-Languageda petici\xF3n HTTP cando se renderiza no servidor, pero a m\xE1is sixela \xE9 detectar o idioma do navegador ou da URL coas utilidades proporcionadas para elo.", + "configuration.subsection.find-locale": "Atopar o mellos idioma", + "configuration.paragraph.find-locale-1": "Hai m\xFAltiples estratexias v\xE1lidas para seleccionar o mellor idioma que pasar \xE1 funci\xF3n", + "configuration.paragraph.find-locale-2": ". Esta librer\xEDa proporciona utilidades para as estratexias m\xE1is comuns:", + "configuration.definitions.navigator": "Extrae o idioma do navegador, que a s\xFAa vez \xE9 o idioma do sistema operativo.", + "configuration.definitions.query": "Extrae o idioma no par\xE1metro dado a query string da URL.
getLocaleFromQueryString('lang')para
/users?sort=name&dir=asc&lang=es", + "configuration.definitions.hash": "Como
getLocaleFromQueryStringpero para el hash de la URL.
getLocaleFromHash('lang')para
/users#sort=name&dir=asc&lang=es", + "configuration.definitions.path": "Extrae o idioma dos segmentos da URL.
getLocaleFromPathname(/^/((es|en)(-\\w\\w)?)/)para
myapp.com/en-US/users", + "configuration.definitions.host": "Extrae o idioma del host.
getLocaleFromHostname(/^((es|en)(-\\w\\w)?)\\./)para
https://pt.myapp.com", + "configuration.subsection.custom-formats": "Formatos persoalizados", + "configuration.paragraph.custom-formats-1": "Esta librer\xEDa pode formatear n\xFAmeros, datas e horas. Faino sen incrementar significativamente o tama\xF1o do teu proxecto porque utiliza a API Intl xa presente en todos os navegadores modernos e main en Node.js.
$t(key, ops).", + "usage.paragraph.basic-translations-1": "Este store \xE9 o que utilizar\xE1s m\xE1is a miudo. Simplemente imp\xF3rtao e usa a funci\xF3n que cont\xE9n, pas\xE1ndolle o nome da traducci\xF3n a usar.", + "usage.subsection.passing-arguments": "Pasar argumentos", + "usage.paragraph.passing-arguments-1": "O segundo argumento recibido por", + "usage.paragraph.passing-arguments-2": "\xE9 un obxecto. Calquer argumento requerido dentro da traducci\xF3n proporci\xF3nase coa opci\xF3n", + "usage.paragraph.passing-arguments-3": ".", + "usage.paragraph.passing-arguments-4": "Non hai ningunha diferencia pasando argumentos dependendo de se van a interpolar ou usarse para computar plurais ou sub-ramas, ou son n\xFAmeros ou datas para ser formateados. Todos os argumentos p\xE1sanse da mesma maneira.", + "usage.subsection.formatting": "Formatear datas, horas y n\xFAmeros", + "usage.paragraph.formatting-1": "Inda que podes pasar n\xFAmeros, datas e horas as t\xFAas traducci\xF3ns que ser\xE1n formateadas segindo o que a mesaxe ICU indique, a librer\xEDa tambien ten outros stores para cando necesitas formatear directamente dende o teu c\xF3digo.", + "usage.subsection.other-stores": "Outros stores", + "usage.paragraph.other-stores-1": "Hai tres stores m\xE1is que paga a pena mencionar:", + "usage.paragraph.other-stores-2": "Imos crear un compo\xF1ente para seleccionar o idioma actual", + "usage.paragraph.other-stores-3": "O c\xF3digo de arriba \xE9 bastante sinxelo. Tan s\xF3 iteramos a lista de idiomas dispo\xF1ibles en
$locales
e renderizamos un bot\xF3n por cada in. Facendo click nesos botons asignar\xE1 o seu dioma o store $locale
."es-ES").`, + "usage.definitions.other-stores-2": `Cont\xE9n a lista de idiomas rexistrados. (P.e:
["es-ES", "en", "pt-BR"]).`, + "usage.definitions.other-stores-3": "Cont\xE9n
truecando un idioma as\xEDncrono todav\xEDa est\xE1 cargando." +}; +export { + gl as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/hooks.server.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/hooks.server.js new file mode 100644 index 0000000..7e6acfc --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/hooks.server.js @@ -0,0 +1,14 @@ +import cookie__default from "cookie"; +const handle = ({ event, resolve }) => { + const cookies = cookie__default.parse(event.request.headers.get("cookie") ?? ""); + const locale = cookies.lang || event.request.headers.get("accept-language") && event.request.headers.get("accept-language").split(",")[0]; + event.locals.locale = locale; + return resolve(event); +}; +function getSession(event) { + return { acceptedLanguage: event.locals.locale }; +} +export { + getSession, + handle +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index.js new file mode 100644 index 0000000..bedcdc5 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index.js @@ -0,0 +1,131 @@ +function noop() { +} +function run(fn) { + return fn(); +} +function blank_object() { + return /* @__PURE__ */ Object.create(null); +} +function run_all(fns) { + fns.forEach(run); +} +function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function"); +} +function subscribe(store, ...callbacks) { + if (store == null) { + return noop; + } + const unsub = store.subscribe(...callbacks); + return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; +} +function set_store_value(store, ret, value) { + store.set(value); + return ret; +} +let current_component; +function set_current_component(component) { + current_component = component; +} +function get_current_component() { + if (!current_component) + throw new Error("Function called outside component initialization"); + return current_component; +} +function setContext(key, context) { + get_current_component().$$.context.set(key, context); + return context; +} +function getContext(key) { + return get_current_component().$$.context.get(key); +} +Promise.resolve(); +const ATTR_REGEX = /[&"]/g; +const CONTENT_REGEX = /[&<]/g; +function escape(value, is_attr = false) { + const str = String(value); + const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX; + pattern.lastIndex = 0; + let escaped = ""; + let last = 0; + while (pattern.test(str)) { + const i = pattern.lastIndex - 1; + const ch = str[i]; + escaped += str.substring(last, i) + (ch === "&" ? "&" : ch === '"' ? """ : "<"); + last = i + 1; + } + return escaped + str.substring(last); +} +function each(items, fn) { + let str = ""; + for (let i = 0; i < items.length; i += 1) { + str += fn(items[i], i); + } + return str; +} +const missing_component = { + $$render: () => "" +}; +function validate_component(component, name) { + if (!component || !component.$$render) { + if (name === "svelte:component") + name += " this={...}"; + throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`); + } + return component; +} +let on_destroy; +function create_ssr_component(fn) { + function $$render(result, props, bindings, slots, context) { + const parent_component = current_component; + const $$ = { + on_destroy, + context: new Map(context || (parent_component ? parent_component.$$.context : [])), + on_mount: [], + before_update: [], + after_update: [], + callbacks: blank_object() + }; + set_current_component({ $$ }); + const html = fn(result, props, bindings, slots); + set_current_component(parent_component); + return html; + } + return { + render: (props = {}, { $$slots = {}, context = /* @__PURE__ */ new Map() } = {}) => { + on_destroy = []; + const result = { title: "", head: "", css: /* @__PURE__ */ new Set() }; + const html = $$render(result, props, {}, $$slots, context); + run_all(on_destroy); + return { + html, + css: { + code: Array.from(result.css).map((css) => css.code).join("\n"), + map: null + }, + head: result.title + result.head + }; + }, + $$render + }; +} +function add_attribute(name, value, boolean) { + if (value == null || boolean && !value) + return ""; + const assignment = boolean && value === true ? "" : `="${escape(value, true)}"`; + return ` ${name}${assignment}`; +} +export { + safe_not_equal as a, + subscribe as b, + create_ssr_component as c, + set_store_value as d, + escape as e, + each as f, + getContext as g, + add_attribute as h, + missing_component as m, + noop as n, + setContext as s, + validate_component as v +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index2.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index2.js new file mode 100644 index 0000000..9fcdbe5 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/index2.js @@ -0,0 +1,47 @@ +class HttpError { + constructor(status, body) { + this.status = status; + if (typeof body === "string") { + this.body = { message: body }; + } else if (body) { + this.body = body; + } else { + this.body = { message: `Error: ${status}` }; + } + } + toString() { + return JSON.stringify(this.body); + } +} +class Redirect { + constructor(status, location) { + this.status = status; + this.location = location; + } +} +class ValidationError { + constructor(status, data) { + this.status = status; + this.data = data; + } +} +function error(status, message) { + return new HttpError(status, message); +} +function json(data, init) { + const headers = new Headers(init == null ? void 0 : init.headers); + if (!headers.has("content-type")) { + headers.set("content-type", "application/json"); + } + return new Response(JSON.stringify(data), { + ...init, + headers + }); +} +export { + HttpError as H, + Redirect as R, + ValidationError as V, + error as e, + json as j +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/ja.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/ja.js new file mode 100644 index 0000000..153a151 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/ja.js @@ -0,0 +1,217 @@ +import { __interpolate, __plural, __offsetPlural, __select, __date, __time, __number } from "svelte-intl-precompile"; +const ja = { + "common.or": "\u3084", + "common.and": "\u3068", + "main.title": "Svelte Intl Precompile", + "main.subtitle": "\u30D3\u30EB\u30C9\u6642\u306B\u7FFB\u8A33\u6587\u3092\u89E3\u6790\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3059\u308B Svelte \u5411\u3051\u306E i18n \u30E9\u30A4\u30D6\u30E9\u30EA", + "playground.title": "Playground", + "introduction.title": "\u30A4\u30F3\u30C8\u30ED\u30C0\u30AF\u30B7\u30E7\u30F3", + "introduction.subsection.why-use-it": "\u306A\u305C\u4F7F\u7528\u3057\u305F\u3044\u306E\u3067\u3059\u304B\uFF1F", + "introduction.paragraph.why-use-it-1": "Svelte-intl-precompile \u306F Svelte \u30A2\u30D7\u30EA\u306E\u305F\u3081\u306E i18n \u30E9\u30A4\u30D6\u30E9\u30EA\u3067\u3001\u30A2\u30D7\u30EA\u304C\u5FC5\u8981\u3068\u3059\u308B\u6A5F\u80FD\u3092\u3001\u30A2\u30D7\u30EA\u306E\u30B5\u30A4\u30BA\u3068\u5B9F\u884C\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306E\u3069\u3061\u3089\u306B\u5BFE\u3057\u3066\u3082\u6700\u4F4E\u9650\u306E\u30B3\u30B9\u30C8\u3067\u63D0\u4F9B\u3059\u308B\u3053\u3068\u3092\u76EE\u7684\u3057\u3066\u3044\u307E\u3059\u3002", + "introduction.paragraph.why-use-it-2": "\u3053\u308C\u3092\u5B9F\u73FE\u3059\u308B\u306E\u306B\u3001\u4ED6\u306E\u591A\u304F\u306E\u56FD\u969B\u5316\u30E9\u30A4\u30D6\u30E9\u30EA\u3068\u306F\u7570\u306A\u308B\u30A2\u30D7\u30ED\u30FC\u30C1\u3092\u3068\u3063\u3066\u3044\u307E\u3059\u3002Svelte.js \u304C\u30B3\u30FC\u30C9\u3092\u89E3\u6790\u30FB\u89E3\u91C8\u3057\u3066\u30D3\u30EB\u30C9\u6642\u306B\u6700\u5C0F\u304B\u3064\u52B9\u7387\u7684\u306A javascript \u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3059\u308B\u306E\u3068\u540C\u3058\u3088\u3046\u306B\u3001\u3053\u306E\u30E9\u30A4\u30D6\u30E9\u30EA\u306F ICU \u30E1\u30C3\u30BB\u30FC\u30B8\u69CB\u6587 \u3067\u5B9A\u7FA9\u3055\u308C\u305F\u7FFB\u8A33\u6587\u3092\u691C\u67FB\u3057\u3001\u5C0F\u3055\u304F\u3066\u52B9\u7387\u7684\u306A\u30A4\u30F3\u30E9\u30A4\u30F3\u95A2\u6570\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u307E\u3059\u3002", + "introduction.paragraph.why-use-it-3": "ICU \u30E1\u30C3\u30BB\u30FC\u30B8\u69CB\u6587\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u5168\u3066\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u305F\u5834\u5408\u3001minify \u3068 \u5727\u7E2E\u3092\u884C\u3063\u305F\u3042\u3068\u3067\u7D042kb\u3068\u306A\u308A\u307E\u3059\u3002\u3082\u3057\u3044\u304F\u3064\u304B\u306E\u6A5F\u80FD\u3057\u304B\u4F7F\u308F\u306A\u3044\u306E\u3067\u3042\u308C\u3070\u30011kb\u7A0B\u5EA6\u307E\u3067\u5C0F\u3055\u304F\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002", + "introduction.paragraph.why-use-it-4": "\u307E\u305F\u3001\u7FFB\u8A33\u6587\u3092\u30D6\u30E9\u30A6\u30B6\u4E0A\u3067\u30D1\u30FC\u30B9\u3057\u305F\u308A\u30C8\u30FC\u30AB\u30CA\u30A4\u30BA\u3057\u305F\u308A\u3059\u308B\u5FC5\u8981\u304C\u306A\u3044\u305F\u3081\u3001\u9AD8\u901F\u3067\u3059\u3002\u7FFB\u8A33\u6587\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306F\u3001\u521D\u56DE\u306E\u5834\u5408\u306F\u7D044\u500D\u9AD8\u901F\u3067\u30012\u56DE\u76EE\u4EE5\u964D\u306F\u7D0450%\u9AD8\u901F\u3067\u3059\u3002", + "introduction.subsection.playground": "\u306A\u3093\u3060\u3063\u3066\uFF1F\u30B3\u30FC\u30C9\u3092\u898B\u305B\u3066\u304F\u3060\u3055\u3044", + "introduction.paragraph.playground-preface": "\u3053\u3061\u3089\u3067\u3059\u3001\u8A66\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u81EA\u8EAB\u3067\u7FFB\u8A33\u6587\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u3001\u5909\u63DB\u3055\u308C\u305F\u51FA\u529B\u3092\u898B\u3066\u307F\u307E\u3057\u3087\u3046\u3002", + "introduction.subsection.features": "\u3069\u3093\u306A\u6A5F\u80FD\u304C\u3042\u308A\u307E\u3059\u304B\uFF1F", + "introduction.paragraph.features-1": "ICU \u30E1\u30C3\u30BB\u30FC\u30B8\u69CB\u6587\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u3059\u3079\u3066\u306E\u6A5F\u80FD\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059\u3002
123456789
\u3092\u30A2\u30E1\u30EA\u30AB\u82F1\u8A9E\u65B9\u5F0F\u306B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3059\u308B\u3068 123,456,789
\u3068\u306A\u308A\u307E\u3059\u304C\u3001\u30A4\u30F3\u30C9\u65B9\u5F0F\u306B\u3059\u308B\u3068 12,34,56,789
\u3068\u306A\u308A\u307E\u3059\u3002undefined
\u3092\u6E21\u3057\u3066\u3082 "undefined" \u3068\u3057\u3066\u88DC\u9593\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u9069\u5207\u306B\u30B5\u30CB\u30BF\u30A4\u30BA\u3055\u308C\u307E\u3059\u3002`,
+ "icu-crash-course.table-cells.interpolations": (chosen) => `Your favorite color is ${__interpolate(chosen)}`,
+ "icu-crash-course.subsection.plurals": "\u8907\u6570\u5F62",
+ "icu-crash-course.paragraph.plurals-1": "\u3069\u306E\u30A2\u30D7\u30EA\u3067\u3082\u30012\u756A\u3081\u306B\u3088\u304F\u4F7F\u308F\u308C\u308B\u6A5F\u80FD\u306F\u8907\u6570\u5F62\u3067\u3059\u3002ICU\u69CB\u6587\u306B\u306F\u5C02\u7528\u306E\u8907\u6570\u5F62
\u30D8\u30EB\u30D1\u30FC\u304C\u3042\u308A\u3001\u8907\u6570\u5F62\u306E\u7FFB\u8A33\u306B\u3064\u3044\u3066\u30B7\u30F3\u30D7\u30EB\u306A\u3082\u306E\u304B\u3089\u975E\u5E38\u306B\u8907\u96D1\u306A\u3082\u306E\u307E\u3067\u3001\u305D\u306E\u7FFB\u8A33\u6587\u306E\u4E2D\u3067\u5B9A\u7FA9\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
+ "icu-crash-course.paragraph.plurals-2": "\u8907\u6570\u5F62\u306E\u5404\u30D1\u30B9\u306B\u306F\u3001\u5148\u982D\u306B\u6570\u5024\u306E\u4FEE\u98FE\u5B50\u304C\u4ED8\u304D\u307E\u3059\u3002\u4ED8\u3051\u3089\u308C\u308B\u4FEE\u98FE\u5B50\u306F\u4EE5\u4E0B\u306E\u901A\u308A\u3067\u3059:",
+ "icu-crash-course.paragraph.plurals-3": "\u6700\u521D\u306B\u4F8B\u3092\u3044\u304F\u3064\u304B\u898B\u3066\u307F\u307E\u3057\u3087\u3046:",
+ "icu-crash-course.paragraph.plurals-4": "\u82F1\u8A9E\u306A\u3069\u306E\u8A00\u8A9E\u306F one
\u3068 other
\u306E\u307F\u3092\u4F7F\u7528\u3057\u307E\u3059\u304C\u3001\u4ED6\u306E\u8A00\u8A9E\u3067\u306F\u6700\u9069\u306A\u8907\u6570\u5F62\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002few
\u3068 many
\u306E\u4F7F\u7528\u3092\u5206\u3051\u308B\u7279\u5B9A\u306E\u95BE\u5024\u306F\u3001\u975E\u5E38\u306B\u6587\u5316\u7684\u306A\u3082\u306E\u3067\u3059\u3002",
+ "icu-crash-course.paragraph.plurals-5": "\u307E\u305F\u3001=N
\u3092\u4F7F\u7528\u3057\u3066\u6B63\u78BA\u306A\u5024\u306E\u7FFB\u8A33\u3092\u660E\u793A\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u65B9\u6CD5\u3067\u6570\u5B57\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u305D\u306E\u8A00\u8A9E\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u52D5\u4F5C\u306B\u512A\u5148\u3057\u307E\u3059\u3002=2
\u3084 =12
\u3092\u4F7F\u7528\u3057\u3066\u3001\u660E\u793A\u7684\u306B a couple(1\u7D44) \u3084 a dozen(1\u30C0\u30FC\u30B9) \u306E\u3088\u3046\u306A\u7570\u306A\u308B\u7FFB\u8A33\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
+ "icu-crash-course.paragraph.plurals-6": "\u6700\u5F8C\u306B\u3001\u8907\u6570\u5F62\u306F\u30CF\u30C3\u30B7\u30E5\u30BF\u30B0\u3092\u4F7F\u3063\u3066\u8907\u6570\u5F62\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5024\u3092\u6570\u5024\u3068\u3057\u3066\u51FA\u529B\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u3001\u30D8\u30EB\u30D1\u30FC\u306F\u30CF\u30C3\u30B7\u30E5\u30BF\u30B0\u3067\u5024\u306B\u6E1B\u7B97\u3055\u308C\u308B\u30AA\u30D5\u30BB\u30C3\u30C8\u53D7\u3051\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
+ "icu-crash-course.list-items.one": "(singular \u5358\u6570\u5F62)",
+ "icu-crash-course.list-items.two": "(dual \u6B63\u78BA\u306B2\u3064\u3092\u793A\u3059)",
+ "icu-crash-course.list-items.few": "(paucal \u4E0D\u6B63\u78BA\u3060\u304C\u5C11\u6570\u3092\u793A\u3059)",
+ "icu-crash-course.list-items.many": "(\u5206\u6570\u306B\u3082\u4F7F\u7528\u3055\u308C\u308B)",
+ "icu-crash-course.list-items.other": "(\u4E00\u822C\u7684\u306A\u8907\u6570\u5F62\u306E\u5F62\u5F0F\u3002\u8907\u6570\u5F62\u304C1\u7A2E\u985E\u3057\u304B\u306A\u3044\u8A00\u8A9E\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059)",
+ "icu-crash-course.table-cells.plurals-simple": (numCats) => `Your have ${__plural(numCats, {
+ o: "one cat",
+ h: `${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-complex": (numCats) => `Your have ${__plural(numCats, {
+ 0: "no cats at all",
+ o: "one single cat",
+ 2: "a couple cats",
+ 3: "a trio of cats",
+ 12: "a dozen cats",
+ h: `exactly ${numCats} cats`
+ })}`,
+ "icu-crash-course.table-cells.plurals-offset": (guest, guestCount) => __offsetPlural(guestCount, 1, {
+ 0: "Mary does not give a party.",
+ 1: `Mary invites ${__interpolate(guest)} to her party.`,
+ 2: `Mary invites ${__interpolate(guest)} and one other person to her party.`,
+ h: `Mary invites ${__interpolate(guest)} and ${guestCount - 1} other people to her party.`
+ }),
+ "icu-crash-course.subsection.select": "\u9078\u629E",
+ "icu-crash-course.paragraph.select-1": "\u9078\u629E
\u30D8\u30EB\u30D1\u30FC\u306F\u5F15\u6570\u306B\u57FA\u3065\u3044\u3066\u8907\u6570\u306E\u5019\u88DC\u306E\u4E2D\u304B\u3089\u7FFB\u8A33\u6587\u3092\u9078\u629E\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002${__interpolate(path)}
\u306E vite \u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044:`,
+ "getting-started.paragraph.hook-into-sveltekit-2": "\u6E96\u5099\u306F\u5B8C\u4E86\u3067\u3059\u3002\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u4F7F\u3063\u3066\u307F\u307E\u3057\u3087\u3046\u3002",
+ "getting-started.subsection.hook-into-vite": "Vite.js \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u30B3\u30F3\u30D1\u30A4\u30E9\u3092\u30D5\u30C3\u30AF\u3059\u308B",
+ "getting-started.paragraph.hook-into-vite-1": (path) => `SvelteKit \u3092\u4F7F\u308F\u305A\u306B Vite.js \u3092\u76F4\u63A5\u4F7F\u7528\u3057\u3066\u3044\u308B\u5834\u5408\u3082\u3001\u8A2D\u5B9A\u306F\u307B\u3068\u3093\u3069\u540C\u69D8\u3067\u3059\u3002 SvelteKit \u304C\u821E\u53F0\u88CF\u3067\u306F Vite.js \u3092\u4F7F\u7528\u3057\u3066\u308B\u305F\u3081\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30E9\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3066\u3001${__interpolate(path)}
\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u6E21\u3057\u3066\u304F\u3060\u3055\u3044:`,
+ "configuration.title": "\u8A2D\u5B9A",
+ "configuration.subsection.example": "\u8A2D\u5B9A\u4F8B",
+ "configuration.link.example": "\u8A2D\u5B9A\u4F8B",
+ "configuration.paragraph.example-1": "\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u521D\u671F\u5316\u3059\u308B\u6700\u5C0F\u69CB\u6210\u306E\u8A2D\u5B9A\u4F8B\u306F\u6B21\u306E\u3088\u3046\u306B\u306A\u308A\u307E\u3059\u3002",
+ "configuration.paragraph.example-2": "\u306B\u6B21\u306E\u3088\u3046\u306B\u66F8\u3044\u3066\u304F\u3060\u3055\u3044:",
+ "configuration.paragraph.example-3": "\u3053\u308C\u3060\u3051\u3067\u3082\u4F7F\u3044\u306F\u3058\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u3059\u304C\u3001\u3082\u3046\u5C11\u3057\u6DF1\u5800\u308A\u3057\u3066\u307F\u307E\u3057\u3087\u3046\u3002",
+ "configuration.subsection.static-locales": "\u30ED\u30B1\u30FC\u30EB\u306E\u9759\u7684\u30ED\u30FC\u30C9",
+ "configuration.paragraph.static-locales-1": "\u524D\u8A18\u306E\u4F8B\u3067\u898B\u305F\u3088\u3046\u306B\u3001\u30ED\u30B1\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u6700\u3082\u7C21\u5358\u306A\u65B9\u6CD5\u306F\u3001\u305D\u308C\u3089\u3092\u5358\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u3068\u3057\u3066\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3001\u6B21\u306E\u95A2\u6570\u3092\u4F7F\u3063\u3066\u767B\u9332\u3059\u308B\u3053\u3068\u3067\u3059:",
+ "configuration.paragraph.static-locales-2": "\u7FFB\u8A33\u3092JSON\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u5B9A\u7FA9\u3057\u305F\u306B\u3082\u95A2\u308F\u3089\u305A\u3001\u3053\u3053\u3067\u306F\u305D\u308C\u3089\u3092 JavaScript \u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3068\u3057\u3066\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3066\u3044\u308B\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044:",
+ "configuration.paragraph.static-locales-3": "\u3053\u308C\u306F\u3001\u30D3\u30EB\u30C9\u6642\u306B\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u7FFB\u8A33\u3092\u30A4\u30F3\u30E9\u30A4\u30F3\u95A2\u6570\u3092\u542B\u3080\u30E2\u30B8\u30E5\u30FC\u30EB\u3068\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u3044\u308B\u305F\u3081\u3067\u3059\u3002",
+ "configuration.paragraph.static-locales-4": "\u3053\u306E\u65B9\u6CD5\u3067\u306F\u3001\u3082\u3057\u4E00\u3064\u306E\u8A00\u8A9E\u3057\u304B\u8868\u793A\u3055\u308C\u306A\u3044\u5834\u5408\u3067\u3082\u3001\u3059\u3079\u3066\u306E\u8A00\u8A9E\u304C\u30ED\u30FC\u30C9\u3055\u308C\u307E\u3059\u3002\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u59CB\u3081\u308B\u3068\u304D\u3084\u3054\u304F\u5C11\u6570\u306E\u7FFB\u8A33\u3057\u304B\u5FC5\u8981\u306A\u3044\u5834\u5408\u306B\u306F\u5927\u62B5\u306F\u3053\u308C\u3067\u5341\u5206\u3067\u3059\u304C\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u898F\u6A21\u304C\u5927\u304D\u304F\u306A\u308C\u3070\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u7FFB\u8A33\u3092\u8AAD\u307F\u8FBC\u3080\u3053\u3068\u3092\u691C\u8A0E\u3059\u3079\u304D\u3067\u3057\u3087\u3046\u3002",
+ "configuration.subsection.dynamic-locales": "\u30ED\u30B1\u30FC\u30EB\u306E\u52D5\u7684\u30ED\u30FC\u30C9",
+ "configuration.paragraph.dynamic-locales-1": "\u304B\u306A\u308A\u306E\u91CF\u306E\u7FFB\u8A33\u30AD\u30FC\u3084\u305F\u304F\u3055\u3093\u306E\u30ED\u30B1\u30FC\u30EB\u304C\u3042\u308B\u5834\u5408\u3001\u5B9F\u969B\u306B\u306F\u8868\u793A\u3057\u306A\u3044\u3059\u3079\u3066\u306E\u8A00\u8A9E\u3092\u3042\u3089\u3086\u308B\u30E6\u30FC\u30B6\u306B\u30ED\u30FC\u30C9\u3055\u305B\u308B\u3053\u3068\u306F\u5927\u5909\u306A\u7121\u99C4\u3068\u3044\u3048\u307E\u3059\u3002\u3053\u306E\u30E9\u30A4\u30D6\u30E9\u30EA\u3067\u306F",
+ "configuration.paragraph.dynamic-locales-2": "\u95A2\u6570\u3092\u4F7F\u3063\u3066\u30E6\u30FC\u30B6\u304C\u9078\u629E\u3057\u305F\u8A00\u8A9E\u3092\u52D5\u7684\u306B\u30ED\u30FC\u30C9\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u3001",
+ "configuration.paragraph.dynamic-locales-3": "\u95A2\u6570\u3067\u305D\u308C\u3089\u306E\u30ED\u30B1\u30FC\u30EB\u304C\u30ED\u30FC\u30C9\u3055\u308C\u308B\u307E\u3067\u5F85\u3064\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
+ "configuration.paragraph.dynamic-locales-4": "\u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u304C\u52D5\u7684\u306B\u30ED\u30FC\u30C9\u3055\u308C\u308B\u306E\u3067\u3042\u308C\u3070\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30ED\u30B1\u30FC\u30EB\u304C\u30ED\u30FC\u30C9\u3055\u308C\u308B\u307E\u3067\u306F\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5F85\u305F\u305B\u305F\u3044\u306F\u305A\u3067\u3059\u3002\u3053\u306E\u95A2\u6570\u3092 Svelte \u306E",
+ "configuration.paragraph.dynamic-locales-5": "\u95A2\u6570\u306E\u4E2D\u3067\u547C\u3073\u51FA\u3059\u3053\u3068\u306B\u3088\u308A\u3001\u307E\u3055\u306B\u305D\u308C\u304C\u5B9F\u73FE\u3067\u304D\u307E\u3059\u3002",
+ "configuration.subsection.dynamic-locales-shorthand": "\u30ED\u30B1\u30FC\u30EB\u306E\u52D5\u7684\u30ED\u30FC\u30C9\uFF08\u305F\u3060\u3057\u3001\u4ECA\u56DE\u306F\u77ED\u304F\uFF09",
+ "configuration.paragraph.dynamic-locales-shorthand-1": "\u3082\u3057\u5358\u306B\u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\uFF08\u305D\u306E\u8A00\u8A9E\u306B\u5BFE\u3057\u3066\u306E\u7FFB\u8A33\u3092\u542B\u3080JSON\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\uFF09\u3092\u767B\u9332\u3057\u305F\u3044\u306E\u3067\u3042\u308C\u3070\u3001\u4FBF\u5229\u306A\u7701\u7565\u8A18\u6CD5\u304C\u3042\u308A\u307E\u3059\u3002",
+ "configuration.paragraph.dynamic-locales-shorthand-2": "\u30D5\u30A9\u30EB\u30C0\u306F\u3055\u3089\u306B\u8E0F\u307F\u8FBC\u3093\u3060\u6A5F\u80FD\u3092\u6301\u3064\u30E2\u30B8\u30E5\u30FC\u30EB\u3068\u306A\u3063\u3066\u3044\u3066\u30012\u3064\u306E\u30E6\u30FC\u30EA\u30C6\u30A3\u30C6\u30A3\u95A2\u6570\u3092\u63D0\u4F9B\u3057\u307E\u3059:",
+ "configuration.paragraph.dynamic-locales-shorthand-3": "1\u3064\u76EE\u306F\u3001\u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u306B\u5BFE\u3057\u3066",
+ "configuration.paragraph.dynamic-locales-shorthand-4": "\u3092\u547C\u3073\u51FA\u3059\u306E\u3068\u540C\u69D8\u306E\u50CD\u304D\u3092\u3057\u307E\u3059\u3002Accept-Language
\u30D8\u30C3\u30C0\u3092\u5143\u306B\u9078\u629E\u3057\u305F\u308A\u306A\u3069\u3001\u69D8\u3005\u306A\u65B9\u6CD5\u304C\u8003\u3048\u3089\u308C\u307E\u3059\u304C\u3001\u6700\u3082\u5358\u7D14\u660E\u5FEB\u306A\u65B9\u6CD5\u306F\u3001\u30E6\u30FC\u30C6\u30A3\u30EA\u30C6\u30A3\u95A2\u6570\u3092\u4F7F\u3063\u3066\u30D6\u30E9\u30A6\u30B6\u3084URL\u304B\u3089\u691C\u51FA\u3059\u308B\u3053\u3068\u3067\u3059\u3002',
+ "configuration.subsection.find-locale": "\u6700\u9069\u306A\u30ED\u30B1\u30FC\u30EB\u3092\u898B\u3064\u3051\u308B",
+ "configuration.paragraph.find-locale-1": "",
+ "configuration.paragraph.find-locale-2": "\u95A2\u6570\u306B\u6E21\u3059\u3079\u304D\u6700\u9069\u306A\u30ED\u30B1\u30FC\u30EB\u3092\u9078\u629E\u3059\u308B\u6709\u52B9\u306A\u65B9\u6CD5\u306F\u69D8\u3005\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30E9\u30A4\u30D6\u30E9\u30EA\u306F\u7279\u306B\u4E00\u822C\u7684\u306A\u65B9\u6CD5\u3092\u5B9F\u88C5\u3057\u305F\u30D8\u30EB\u30D1\u30FC\u95A2\u6570\u3092\u63D0\u4F9B\u3057\u3066\u3044\u307E\u3059\u3002",
+ "configuration.definitions.navigator": "\u30D6\u30E9\u30A6\u30B6\u306E\u30ED\u30B1\u30FC\u30EB\u8A2D\u5B9A\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002\u7D50\u679C\u7684\u306B\u3001\u30AA\u30DA\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u30B7\u30B9\u30C6\u30E0\u306E\u30ED\u30B1\u30FC\u30EB\u8A2D\u5B9A\u3092\u53D6\u5F97\u3059\u308B\u3053\u3068\u306B\u306A\u308A\u307E\u3059\u3002",
+ "configuration.definitions.query": 'URL\u306E\u30AF\u30A8\u30EA\u6587\u5B57\u5217\u306E\u30AD\u30FC\u3092\u6307\u5B9A\u3057\u3066\u3001\u30ED\u30B1\u30FC\u30EB\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002/users?sort=name&dir=asc&lang=es\u306A\u3089
getLocaleFromQueryString("lang")\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002', + "configuration.definitions.hash": '
getLocaleFromQueryString\u3068\u540C\u69D8\u306E\u3053\u3068\u3092\u3001URL\u30CF\u30C3\u30B7\u30E5\u30D5\u30E9\u30B0\u30E1\u30F3\u30C8\u306B\u5BFE\u3057\u3066\u884C\u3044\u307E\u3059\u3002
/users#sort=name&dir=asc&lang=es\u306A\u3089
getLocaleFromHash("lang")\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002', + "configuration.definitions.path": 'URL\u306E\u30D1\u30B9\u304B\u3089\u30ED\u30B1\u30FC\u30EB\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002
myapp.com/en-US/users\u306A\u3089\u3001
getLocaleFromPathname(/^/((es|en)(-\\w\\w)?)/)\u3068\u3057\u307E\u3059\u3002', + "configuration.definitions.host": '\u30DB\u30B9\u30C8\u540D\u304B\u3089\u30ED\u30B1\u30FC\u30EB\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002
https://pt.myapp.com\u306A\u3089
getLocaleFromHostname(/^((es|en)(-\\w\\w)?)\\./)\u3068\u3057\u307E\u3059\u3002', + "configuration.subsection.custom-formats": "\u30AB\u30B9\u30BF\u30E0\u5F62\u5F0F", + "configuration.paragraph.custom-formats-1": "\u3053\u306E\u30E9\u30A4\u30D6\u30E9\u30EA\u306F\u3001\u6570\u5024\u30FB\u65E5\u4ED8\u30FB\u6642\u9593\u3092\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u3002\u30E2\u30C0\u30F3\u30D6\u30E9\u30A6\u30B6\u3084 Node.js \u306B\u65E2\u306B\u5B58\u5728\u3059\u308B Intl API \u3092\u6D3B\u7528\u3059\u308B\u3053\u3068\u3067\u3001\u30A2\u30D7\u30EA\u3092\u80A5\u5927\u5316\u3055\u305B\u308B\u3053\u3068\u306A\u304F\u5B9F\u73FE\u3057\u3066\u3044\u307E\u3059\u3002
Intl.DateTimeFormat
\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u6709\u52B9\u306A\u5024\u3067\u306A\u304F\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002\u8A73\u7D30:',
+ "usage.title": "\u4F7F\u3044\u65B9",
+ "usage.paragraph.preface-1": "\u3053\u306E\u30E9\u30A4\u30D6\u30E9\u30EA\u306EAPI\u306F\u591A\u304F\u306E\u90E8\u5206\u3092\u5148\u884C\u3059\u308B",
+ "usage.paragraph.preface-2": "\u3092\u53C2\u8003\u306B\u3057\u3066\u304A\u308A\u3001\u30E6\u30FC\u30C6\u30A3\u30EA\u30C6\u30A3\u95A2\u6570\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u5148\u3092\u5909\u3048\u308B\u3060\u3051\u3067\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30B3\u30FC\u30C9\u306B\u89E6\u308C\u308B\u3053\u3068\u306A\u304F svelte-i18 \u3068 svelte-intl-precompile \u3068\u3092\u5207\u308A\u66FF\u3048\u3089\u308C\u308B\u307B\u3069\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002",
+ "usage.paragraph.preface-3": "\u30B9\u30C8\u30A2\u6307\u5411\u306EAPI\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5185\u3067\u7279\u306B\u4F7F\u3044\u3084\u3059\u3044\u3053\u3068\u306B\u52A0\u3048\u3001\u30E6\u30FC\u30B6\u304C\u5225\u306E\u30ED\u30B1\u30FC\u30EB\u3092\u6D17\u6FEF\u3057\u305F\u308A\u7FFB\u8A33\u304C\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3089\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u5168\u4F53\u304C\u30EA\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306A\u308B\u3068\u3044\u3046\u8FFD\u52A0\u306E\u5229\u70B9\u304C\u3042\u308A\u307E\u3059\u3002\u672C\u9805\u3067\u898B\u308B\u4F8B\u306F\u3001\u3044\u305A\u308C\u3082\u6B21\u306E\u3088\u3046\u306A\u7FFB\u8A33\u3092\u542B\u3080\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u8A18\u8FF0\u3059\u308B\u3053\u3068\u3092\u60F3\u5B9A\u3057\u3066\u3044\u307E\u3059\u3002",
+ "usage.link.basic-translations": "\u57FA\u672C\u7684\u306A\u7FFB\u8A33",
+ "usage.subsection.basic-translations": "\u57FA\u672C\u7684\u306A\u7FFB\u8A33: $t(key, ops)\u30B9\u30C8\u30A2", + "usage.paragraph.basic-translations-1": "\u6700\u3082\u983B\u7E41\u306B\u4F7F\u3046\u30B9\u30C8\u30A2\u3067\u3059\u3002\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3066\u3001\u7FFB\u8A33\u306E\u30AD\u30FC\u3092\u6E21\u3059\u95A2\u6570\u3068\u3057\u3066\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002", + "usage.subsection.passing-arguments": "\u5F15\u6570\u3092\u6E21\u3059", + "usage.paragraph.passing-arguments-1": "", + "usage.paragraph.passing-arguments-2": "\u304C\u53D7\u3051\u53D6\u308B2\u3064\u76EE\u306E\u5F15\u6570\u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\u3002\u7FFB\u8A33\u306E\u4E2D\u3067\u4F7F\u308F\u308C\u308B\u5F15\u6570\u306F\u3059\u3079\u3066", + "usage.paragraph.passing-arguments-3": "\u3092\u901A\u3058\u3066\u6E21\u3055\u308C\u307E\u3059\u3002", + "usage.paragraph.passing-arguments-4": "\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u5358\u306B\u633F\u5165\u3055\u308C\u308B\u3060\u3051\u306E\u5834\u5408\u3067\u3082\u3001\u8907\u6570\u5F62\u3084\u9078\u629E\u30D8\u30EB\u30D1\u30FC\u306E\u5834\u5408\u3067\u3082\u3001\u6570\u5024\u30FB\u65E5\u4ED8\u30FB\u6642\u9593\u3068\u3057\u3066\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3055\u308C\u308B\u5834\u5408\u3067\u3082\u9055\u3044\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5F15\u6570\u306F\u5168\u3066\u540C\u3058\u65B9\u6CD5\u3067\u6E21\u3055\u308C\u307E\u3059\u3002", + "usage.subsection.formatting": "\u65E5\u4ED8\u30FB\u6642\u9593\u30FB\u6570\u5024\u3092\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3059\u308B", + "usage.paragraph.formatting-1": "\u6570\u5024\u30FB\u65E5\u4ED8\u30FB\u6642\u9593\u3092\u6E21\u3057\u3066\u6E21\u3057\u3066\u8A2D\u5B9A\u306B\u5408\u308F\u305B\u3066\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u3059\u304C\u3001 JavaScript \u306E\u30B3\u30FC\u30C9\u304B\u3089\u76F4\u63A5\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3059\u308B\u4FBF\u5229\u306A\u30B9\u30C8\u30A2\u3082\u63D0\u4F9B\u3057\u3066\u3044\u307E\u3059\u3002", + "usage.subsection.other-stores": "\u305D\u306E\u4ED6\u306E\u30B9\u30C8\u30A2", + "usage.paragraph.other-stores-1": "\u4ED6\u306B\u3082\u3001\u8A00\u53CA\u306B\u5024\u3059\u308B3\u3064\u306E\u30B9\u30C8\u30A2\u304C\u3042\u308A\u307E\u3059:", + "usage.paragraph.other-stores-2": "\u73FE\u5728\u306E\u8A00\u8A9E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u4F5C\u3063\u3066\u307F\u307E\u3057\u3087\u3046\u3002", + "usage.paragraph.other-stores-3": '\u524D\u8A18\u306E\u30B3\u30FC\u30C9\u306F\u76F4\u611F\u7684\u3067\u3059\u3002\u5358\u306B
$locales
\u306B\u542B\u307E\u308C\u308B\u5229\u7528\u53EF\u80FD\u306A\u30ED\u30B1\u30FC\u30EB\u306E\u30EA\u30B9\u30C8\u3092\u9806\u756A\u306B\u51E6\u7406\u3057\u3066\u3001\u305D\u308C\u305E\u308C\u306B\u5BFE\u5FDC\u3059\u308B\u30DC\u30BF\u30F3\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\u3002\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001 $locale
\u306B\u683C\u7D0D\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u8A00\u8A9E\u8A2D\u5B9A\u3092\u65B0\u3057\u3044\u5024\u306B\u66F8\u304D\u63DB\u3048\u307E\u3059\u3002"es-ES"\uFF09\u3002', + "usage.definitions.other-stores-2": '\u5229\u7528\u53EF\u80FD\u306A\u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u3092\u542B\u3080\u914D\u5217\u3092\u8FD4\u3057\u307E\u3059\uFF08\u4F8B:
["es-ES", "en", "pt-BR"]\uFF09\u3002', + "usage.definitions.other-stores-3": '\u3044\u305A\u308C\u304B\u306E\u30ED\u30B1\u30FC\u30EB\u306E\u975E\u540C\u671F\u8AAD\u307F\u8FBC\u307F\u304C\u307E\u3060\u5B8C\u4E86\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306B
true\u3092\u8FD4\u3057\u307E\u3059\u3002' +}; +export { + ja as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/stores.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/stores.js new file mode 100644 index 0000000..ace8e89 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/chunks/stores.js @@ -0,0 +1,46 @@ +import { g as getContext } from "./index.js"; +const getStores = () => { + const stores = getContext("__svelte__"); + const readonly_stores = { + page: { + subscribe: stores.page.subscribe + }, + navigating: { + subscribe: stores.navigating.subscribe + }, + updated: stores.updated + }; + Object.defineProperties(readonly_stores, { + preloading: { + get() { + console.error("stores.preloading is deprecated; use stores.navigating instead"); + return { + subscribe: stores.navigating.subscribe + }; + }, + enumerable: false + }, + session: { + get() { + removed_session(); + return {}; + }, + enumerable: false + } + }); + return readonly_stores; +}; +const page = { + subscribe(fn) { + const store = getStores().page; + return store.subscribe(fn); + } +}; +function removed_session() { + throw new Error( + "stores.session is no longer available. See https://github.com/sveltejs/kit/discussions/5883" + ); +} +export { + page as p +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/endpoints/playground/_server.ts.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/endpoints/playground/_server.ts.js new file mode 100644 index 0000000..66bceb8 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/endpoints/playground/_server.ts.js @@ -0,0 +1,18 @@ +import { j as json } from "../../../chunks/index2.js"; +import * as babel from "@babel/core"; +import { minify } from "terser"; +import buildPlugin from "babel-plugin-precompile-intl"; +const intlPrecompiler = buildPlugin("svelte-intl-precompile"); +async function POST({ request, locals }) { + try { + const body = await request.text(); + let transformed = babel.transform("export default " + body, { plugins: [intlPrecompiler] }).code; + let { code: minified } = await minify(transformed, { mangle: { toplevel: true } }); + return json({ transformed, minified }); + } catch { + return json({ error: "Syntax error" }, { status: 422 }); + } +} +export { + POST +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/fallbacks/error.svelte.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/fallbacks/error.svelte.js new file mode 100644 index 0000000..5e852aa --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/fallbacks/error.svelte.js @@ -0,0 +1,18 @@ +import { c as create_ssr_component, b as subscribe, e as escape } from "../../chunks/index.js"; +import { p as page } from "../../chunks/stores.js"; +const Error = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let $page, $$unsubscribe_page; + $$unsubscribe_page = subscribe(page, (value) => $page = value); + $$unsubscribe_page(); + return `
${escape($page.error.message)}+ + + +${$page.error.frame ? `
${escape($page.error.frame)}` : ``} +${$page.error.stack ? `
${escape($page.error.stack)}` : ``}`; +}); +export { + Error as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/_layout.svelte.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/_layout.svelte.js new file mode 100644 index 0000000..22364cf --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/_layout.svelte.js @@ -0,0 +1,35 @@ +import { c as create_ssr_component, b as subscribe, d as set_store_value, f as each, h as add_attribute } from "../../../chunks/index.js"; +import { p as page } from "../../../chunks/stores.js"; +import { locale } from "svelte-intl-precompile"; +import { e as extractLanguageFromPath, a as availableLocales } from "../../../chunks/_layout.js"; +const Layout = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let lang; + let $page, $$unsubscribe_page; + let $locale, $$unsubscribe_locale; + $$unsubscribe_page = subscribe(page, (value) => $page = value); + $$unsubscribe_locale = subscribe(locale, (value) => $locale = value); + function flagFor(lang2) { + return `/flags/${lang2}.svg`; + } + lang = extractLanguageFromPath($page.url.pathname); + { + { + if ($locale !== lang) { + set_store_value(locale, $locale = lang, $locale); + } + } + } + $$unsubscribe_page(); + $$unsubscribe_locale(); + return `
${escape($t("main.subtitle"))}
+${slots.default ? slots.default({}) : ``}
`;
+});
+const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
+ let $t, $$unsubscribe_t;
+ let $locale, $$unsubscribe_locale;
+ $$unsubscribe_t = subscribe(t, (value) => $t = value);
+ $$unsubscribe_locale = subscribe(locale, (value) => $locale = value);
+ $$unsubscribe_t();
+ $$unsubscribe_locale();
+ return `${$$result.head += `${$$result.title = `${escape($t("configuration.paragraph.example-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `src/__layout.svelte`; + } + })} ${escape($t("configuration.paragraph.example-2"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "html" }, {}, { + default: () => { + return `${escape(` + import { addMessages, init } from 'svelte-intl-precompile'; + import en from '$locales/en'; + import es from '$locales/es'; + addMessages('en', en); + addMessages('es', es); + init({ + initialLocale: 'en', + fallbackLocale: 'en' + });`)}`; + } + })} + +${escape($t("configuration.paragraph.example-3"))}
+ +${escape($t("configuration.paragraph.static-locales-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `addMessages(langCode, translations)`; + } + })}.
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `import en from '$locales/en'; +import es from '$locales/es'; +addMessages('en', en); +addMessages('es', es); +`; + } + })} + +${escape($t("configuration.paragraph.static-locales-2"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `$locales`; + } + })} ${escape($t("configuration.paragraph.static-locales-3"))}
+ +${escape($t("configuration.paragraph.static-locales-4"))}
+ +${escape($t("configuration.paragraph.dynamic-locales-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `register(langCode, callback)`; + } + })} + ${escape($t("configuration.paragraph.dynamic-locales-2"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `waitLocale(locale = defaultLocale)`; + } + })} + ${escape($t("configuration.paragraph.dynamic-locales-3"))}
+ +${escape($t("configuration.paragraph.dynamic-locales-4"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `load`; + } + })} + ${escape($t("configuration.paragraph.dynamic-locales-5"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(` + import { init, register, waitLocale } from 'svelte-intl-precompile'; + register('en', () => import('$locales/en')); + register('es', () => import('$locales/es')); + + export async function load() { + init({ initialLocale: en }); + await waitLocale(); // awaits the default locale, "en" in this case. + } +`)}`; + } + })} + +${escape($t("configuration.paragraph.dynamic-locales-shorthand-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `$locales`; + } + })} + ${escape($t("configuration.paragraph.dynamic-locales-shorthand-2"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `registerAll`; + } + })} ${escape($t("common.and"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `availableLocales`; + } + })}. +
+ +${escape($t("configuration.paragraph.dynamic-locales-shorthand-3"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `register(langCode, callback)`; + } + })} + ${$t("configuration.paragraph.dynamic-locales-shorthand-4")}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(` + import { init, waitLocale } from 'svelte-intl-precompile'; + import { registerAll, availableLocales } from '$locales'; + + registerAll(); + + export async function load() { + init({ initialLocale: selectBestMatchingLocale(availableLocales) }); + await waitLocale(); + } +`)}`; + } + })} + +${escape($t("configuration.paragraph.init-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `init(libOptions)`; + } + })} + ${escape($t("configuration.paragraph.init-2"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `initialLocale`; + } + })} + ${escape($t("common.and"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `fallbackLocale`; + } + })}${escape($t("configuration.paragraph.init-3"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`init({ + initialLocale: 'es', + fallbackLocale: 'en' +});`)}`; + } + })} + +${escape($t("configuration.paragraph.init-4"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `initialLocale`; + } + })} ${$t("configuration.paragraph.init-5")}
+ +${escape($t("configuration.paragraph.find-locale-1"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `init()`; + } + })} ${escape($t("configuration.paragraph.find-locale-2"))}
+ +getLocaleFromNavigator()`; + } + })}${validate_component(DefinitionEntry, "DefinitionEntry").$$render($$result, { background: "white" }, {}, { + dd: () => { + return `${$t("configuration.definitions.query")}`; + }, + dt: () => { + return `
getLocaleFromQueryString(key)`; + } + })}${validate_component(DefinitionEntry, "DefinitionEntry").$$render($$result, { background: "gray" }, {}, { + dd: () => { + return `${$t("configuration.definitions.hash")}`; + }, + dt: () => { + return `
getLocaleFromHash(key)`; + } + })}${validate_component(DefinitionEntry, "DefinitionEntry").$$render($$result, { background: "white" }, {}, { + dd: () => { + return `${$t("configuration.definitions.path")}`; + }, + dt: () => { + return `
getLocaleFromPathname(regex)`; + } + })}${validate_component(DefinitionEntry, "DefinitionEntry").$$render($$result, { background: "gray" }, {}, { + dd: () => { + return `${$t("configuration.definitions.host")}`; + }, + dt: () => { + return `
getLocaleFromHostname(regex)`; + } + })}${validate_component(DefinitionEntry, "DefinitionEntry").$$render($$result, { background: "gray" }, {}, { + dd: () => { + return `${$t("configuration.definitions.acceptLanguage")}`; + }, + dt: () => { + return `
getLocaleFromAcceptLanguageHeader(header, availableLocales?)`; + } + })}
${$t("configuration.paragraph.custom-formats-1")}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`{ + number: { + scientific: { notation: 'scientific' } + engineering: { notation: 'engineering' } + compactLong: { notation: 'compact', compactDisplay: 'long' } + compactShort: { notation: 'compact', compactDisplay: 'short' } + }, + date: { + short: { month: 'numeric', day: 'numeric', year: '2-digit' } + medium: { month: 'short', day: 'numeric', year: 'numeric' } + long: { month: 'long', day: 'numeric', year: 'numeric' } + full: { weekday: 'long', month: 'long', day: 'numeric', year: 'numeric' } + }, + time: { + short: { hour: 'numeric', minute: 'numeric' } + medium: { hour: 'numeric', minute: 'numeric', second: 'numeric' } + long: { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' } + full: { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' } + } +}`)}`; + } + })} + +${escape($t("configuration.paragraph.custom-formats-2"))} ${validate_component(CodeInline, "CodeInline").$$render($$result, {}, {}, { + default: () => { + return `formats`; + } + })} + ${$t("configuration.paragraph.custom-formats-3")} + Intl.DateTimeFormat. +
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`init({ + fallbackLocale: 'en', + initialLocale: 'en', + formats: { + date: { + abbreviated: { weekday: 'long', month: 'short', day: 'numeric' } + }, + time: { + 'just-hour': { hour: 'numeric' } + } + } +});`)}`; + } + })} + +${escape($t("configuration.paragraph.custom-formats-4"))} ${escape($t("configuration.paragraph.custom-formats-5"))}
`; +}); +export { + Page as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.svelte.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.svelte.js new file mode 100644 index 0000000..6401507 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.svelte.js @@ -0,0 +1,134 @@ +import { c as create_ssr_component, b as subscribe, e as escape, v as validate_component } from "../../../../../chunks/index.js"; +import { t } from "svelte-intl-precompile"; +import { C as Codeblock } from "../../../../../chunks/Codeblock.js"; +const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let $t, $$unsubscribe_t; + $$unsubscribe_t = subscribe(t, (value) => $t = value); + $$unsubscribe_t(); + return `${$$result.head += `${$$result.title = `${escape($t("getting-started.paragraph.installation-1"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, {}, {}, { + default: () => { + return `npm install svelte-intl-precompile`; + } + })} + +${$t("getting-started.paragraph.create-translations-1", { + values: { + dir1: "/messages", + or: $t("common.or"), + dir2: "/locales" + } + })} + ${escape($t("getting-started.paragraph.create-translations-2"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, {}, {}, { + default: () => { + return `\u251C\u2500\u2500 locales +\u2502\xA0\xA0 \u251C\u2500\u2500 en.json +\u2502\xA0\xA0 \u251C\u2500\u2500 es.json +\u251C\u2500\u2500 src +... +\u251C\u2500\u2500 static +\u251C\u2500\u2500 package.json +\u2514\u2500\u2500 svelte.config.js +`; + } + })} + +${escape($t("getting-started.paragraph.create-translations-3"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`{ + "recent.aria": "Find recently viewed tides", + "menu": "Menu", + "foot": "{count} {count, plural, =1 {foot} other {feet}}", +}`)}`; + } + })} + +${escape($t("getting-started.paragraph.create-translations-4"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`{ + "placeholders": { + "fullname": "John Smith", + "street-name": "13 Elm Street", + "subject": "Re: Hello" + }, + "welcome-hero": "Welcome to Goliath Bank!", +}`)}`; + } + })} + +${$t("getting-started.paragraph.create-translations-6")}
+ +${escape($t("getting-started.paragraph.create-translations-8"))}
+ +${escape($t("getting-started.paragraph.create-translations-10"))}
+ +${$t("getting-started.paragraph.hook-into-sveltekit-1", { values: { path: "/svelte.config.js" } })}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`import precompileIntl from "svelte-intl-precompile/sveltekit-plugin"; + +const config = { + kit: { + target: '#svelte', + vite: { + plugins: [ + precompileIntl('locales') // if your translations are defined in /locales/[lang].json + ] + } + } +}; + +export default config;`)}`; + } + })} + +${escape($t("getting-started.paragraph.hook-into-sveltekit-2"))}
+ +${$t("getting-started.paragraph.hook-into-vite-1", { values: { path: "/vite.config.js" } })}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`import { defineConfig } from "vite"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; +import precompileIntl from "svelte-intl-precompile/sveltekit-plugin"; + +export default defineConfig({ + resolve: { + dedupe: ["svelte"] + }, + plugins: [ + svelte(), + precompileIntl("locales"), + ], +});`)}`; + } + })}`; +}); +export { + Page as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.ts.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.ts.js new file mode 100644 index 0000000..445c451 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/getting-started/_page.ts.js @@ -0,0 +1,4 @@ +const prerender = true; +export { + prerender +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.svelte.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.svelte.js new file mode 100644 index 0000000..d7402f6 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.svelte.js @@ -0,0 +1,187 @@ +import { c as create_ssr_component, b as subscribe, e as escape, h as add_attribute } from "../../../../../chunks/index.js"; +import { t } from "svelte-intl-precompile"; +let interpolationKey = "Your favorite color is {chosen}"; +let simplePlural = "Your have {numCats, plural, one {one cat} other {# cats}}"; +let complexPlural = "Your have {numCats, plural, \n =0 {no cats at all} \n =1 {one single cat} \n =2 {a couple cats} \n =3 {a trio of cats} \n =12 {a dozen cats} \n other {exactly # cats}}"; +let offsetPlural = "Mary {guestCount, plural, offset:1 \n =0 {does not give a party.} \n =1 {invites {guest} to her party.} \n =2 {invites {guest} and one other person to her party.} \n other {invites {guest} and # other people to her party.}}"; +let select = "Your {childGender, select, male {son} female {daughter} other {child}} has won an award"; +let dateString = "Your next holidays start on {holidayStart, date, full}"; +let timeString = "Your doctor's appointment is today at {appointment, time, short}"; +let numberString = "Your account balance is {num, number}"; +let skeletonCurrency = "Your account balance is {num, number, ::currency/EUR}"; +let skeletonCurrencySigned = "Your account balance is {num, number, ::currency/EUR sign-always}"; +let skeletonPercentage = "Game progress {num, number, ::percent}"; +let skeletonPercentageScaled = "Game progress {num, number, ::percent .00 scale/100}"; +let skeletonPercentageTwoDecimals = "Game progress {num, number, ::percent .00}"; +let skeletonMeasurementMeter = "Your destination is {num, number, ::unit/meter} away"; +let skeletonMeasurementMeterLong = "Your destination is {num, number, ::unit/meter unit-width-full-name} away"; +let skeletonCompactShort = "Are you sure you want to bid {num, number, ::K} over asking?"; +let skeletonCompactLong = "Are you sure you want to bid {num, number, ::KK} over asking?"; +let skeletonScientific = "The chances of winning the lottery are 1 in {num, number, ::scientific/*ee}?"; +const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let $t, $$unsubscribe_t; + $$unsubscribe_t = subscribe(t, (value) => $t = value); + let interpolation = "orange"; + let guest = "John"; + let plural1 = 0; + let plural2 = 0; + let guestCount = 0; + let childGender = "male"; + let holidaysStart = new Date(); + let appointment = new Date(); + let number = 0; + let skeletonBalance = 0; + let skeletonPercentageVal = 0; + let skeletonMeasurementMeterVal = 0; + let skeletonCompactVal = 5e3; + let skeletonScientificVal = 123456789; + $$unsubscribe_t(); + return `${$$result.head += `${$$result.title = `${escape($t("icu-crash-course.paragraph.main-1"))}
+ +${$t("icu-crash-course.paragraph.why-1")}
+${$t("icu-crash-course.paragraph.why-2")}
+${$t("icu-crash-course.paragraph.why-3")}
+${escape($t("icu-crash-course.paragraph.why-4"))}
+ +${$t("icu-crash-course.paragraph.interpolations-1")}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.interpolations", { values: { chosen: interpolation } }))} |
${$t("icu-crash-course.paragraph.plurals-1")}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.plurals-simple", { values: { numCats: plural1 } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.plurals-complex", { values: { count: plural2 } }))} |
|
+ + | +${escape($t("icu-crash-course.table-cells.plurals-offset", { values: { guest, guestCount } }))} |
${$t("icu-crash-course.paragraph.plurals-4")}
+${$t("icu-crash-course.paragraph.plurals-5")}
+${escape($t("icu-crash-course.paragraph.plurals-6"))}
+ +${$t("icu-crash-course.paragraph.select-1")}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.select", { values: { childGender } }))} |
short
${escape($t("icu-crash-course.list-items.short"))}medium
${escape($t("icu-crash-course.list-items.medium"))}long
${escape($t("icu-crash-course.list-items.long"))}full
${escape($t("icu-crash-course.list-items.full"))}${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.date", { values: { holidaysStart } }))} |
${escape($t("icu-crash-course.paragraph.time"))}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.time", { values: { appointment } }))} |
${escape($t("icu-crash-course.paragraph.number"))}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.number", { values: { num: number } }))} |
${$t("icu-crash-course.paragraph.number-2")}
+ +${escape($t("icu-crash-course.table-heads.definition"))} | +${escape($t("icu-crash-course.table-heads.values"))} | +${escape($t("icu-crash-course.table-heads.output"))} |
---|---|---|
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonCurrency", { values: { num: skeletonBalance } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonCurrencySigned", { values: { num: skeletonBalance } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonPercentage", { values: { num: skeletonPercentageVal } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonPercentageTwoDecimals", { values: { num: skeletonPercentageVal } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonPercentageScaled", { values: { num: skeletonPercentageVal } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonMeasurementMeter", { + values: { num: skeletonMeasurementMeterVal } + }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonMeasurementMeterLong", { + values: { num: skeletonMeasurementMeterVal } + }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonCompactShort", { values: { num: skeletonCompactVal } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonCompactLong", { values: { num: skeletonCompactVal } }))} |
|
+ + | ${escape($t("icu-crash-course.table-cells.skeletonScientific", { values: { num: skeletonScientificVal } }))} |
${escape($t("icu-crash-course.paragraph.number-3"))}
`; +}); +export { + Page as default +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.ts.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.ts.js new file mode 100644 index 0000000..445c451 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/icu-crash-course/_page.ts.js @@ -0,0 +1,4 @@ +const prerender = true; +export { + prerender +}; diff --git a/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/introduction/_page.svelte.js b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/introduction/_page.svelte.js new file mode 100644 index 0000000..adeb681 --- /dev/null +++ b/.vercel/output/functions/render.func/.svelte-kit/output/server/entries/pages/_...lang_/docs/introduction/_page.svelte.js @@ -0,0 +1,39 @@ +import { c as create_ssr_component, b as subscribe, e as escape, v as validate_component } from "../../../../../chunks/index.js"; +import { P as Playground } from "../../../../../chunks/Playground.js"; +import { t } from "precompile-intl-runtime"; +const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => { + let $t, $$unsubscribe_t; + $$unsubscribe_t = subscribe(t, (value) => $t = value); + $$unsubscribe_t(); + return `${$$result.head += `${$$result.title = `${escape($t("introduction.paragraph.why-use-it-1"))}
+${$t("introduction.paragraph.why-use-it-2")}
+${escape($t("introduction.paragraph.why-use-it-3"))}
+${escape($t("introduction.paragraph.why-use-it-4"))}
+ +${escape($t("introduction.paragraph.playground-preface"))}
+ +${validate_component(Playground, "Playground").$$render($$result, {}, {}, {})} + +${$t("introduction.paragraph.features-1")} svelte-i18n ${escape($t("introduction.paragraph.features-2"))}
+ +${escape($t("introduction.paragraph.features-3"))}
+ +${escape($t("usage.paragraph.preface-1"))} svelte-intl + ${escape($t("usage.paragraph.preface-2"))}
+ +${escape($t("usage.paragraph.preface-3"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "js" }, {}, { + default: () => { + return `${escape(`{ + "page.title": "Svelte Intl Precompile Docs", + "login-success-msg": "Welcome back, {name}", + "transfer-received": "You received {amount, number, currency} at {wireDate, time, short} on {wireDate, date, long}" +} +`)}`; + } + })} + +${escape($t("usage.paragraph.basic-translations-1"))}
+ +${validate_component(Codeblock, "Codeblock").$$render($$result, { lang: "jsx" }, {}, { + default: () => { + return `${escape(` - + %sveltekit.head% -