NEON: Escapování v hodnotách uzavřených uvozovkami

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Eda
Backer | 220
+
+3
-

Zdravím.

Používám Kdyby\Translation a jako uložiště překladů NEON soubory. Teď dělám jeden command line script, který mi s implementací nových překladů trošku pomáhá. Narážím ale na jednu zvláštnost a rád bych slyšel, co si o tom myslíte.

Pokud mám NEON soubor:

SmallSearchControl:
	search: "SPZ / ev. č. / dopravce:"
	searchPlates: SPZ / RZ
	searchNumbers:

V PHP ho otevřu, vezmu jeho obsah, dekóduju do PHP pole, pak zase to stejné zakóduju a uložím, vyjde mi tohle:

SmallSearchControl:
	search: "SPZ \/ ev. \u010d. \/ dopravce:"
	searchPlates: SPZ / RZ
	searchNumbers: null

A já bych samozřejmě potřeboval, aby mi vyšlo to stejné, co jsem měl na začátku :-)

Zatím to řeším pár regulárama před uložením do výsledného souboru. Ale nebylo by dobré některé z těch nesouladů upravit přímo v NEONu?

  1. To, že se prázdná hodnota „přepřeloží“ na „null“, chápu. Asi existují nějaké dobré usecases, kdy je to nutné.
  2. Proč se ale escapují ne-ASCI znaky? Není to bug? Ouvozovkovaný string by měl zůstat nedotčen. Nebo ne?
  3. A už vůbec to nechápu u lomítka. To přece není žádný řídící znak a je to dokonce standardní ASCI znak.

Díky za reakce.

Editoval Eda (28. 12. 2014 21:17)

Mysteria
Člen | 797
+
0
-

Dobrej dotaz, hlavně u té diakritiky je to docela „problém“:

// Ta poslední slova jsou článků :)
"{0} Přidej nové tagy \u010dl\u00e1nk\u016f |[1,+Inf] Uprav tagy \u010dl\u00e1nk\u016f"

Jako samo o sobě to nevadí, problém to je až v případě, když to někdo z tohohle bude chtět překládat do jinýho jazyka, tak z toho nemá jak poznat, co že to je za slovo…